[javascript] 쉼표로 문자열을 배열로 변환

문자열을 JavaScript 배열로 변환하려면 어떻게해야합니까?

코드를보십시오 :

var string = "0,1";
var array = [string];
alert(array[0]);

이 경우 alert팝업이 나타납니다 0,1. 배열 일 때는 a를 팝업 0하고 alert(array[1]);호출하면를 팝업해야합니다 1.

그러한 문자열을 JavaScript 배열로 변환 할 기회가 있습니까?



답변

그런 간단한 배열 멤버의 경우을 사용할 수 있습니다 JSON.parse.

var array = JSON.parse("[" + string + "]");

이것은 당신에게 숫자의 배열을 제공합니다.

[0, 1]

를 사용 .split()하면 문자열 배열이 생깁니다.

["0", "1"]

그냥 알고 있어야 JSON.parse지원되는 데이터 유형을 제한합니다. like undefined또는 함수 와 같은 값이 필요한 경우 eval(), 또는 JavaScript 파서 를 사용해야 합니다.


을 사용 .split()하고 싶지만 Array of Numbers 를 원한다면을 사용할 수 Array.prototype.map있지만 IE8에서는 shim을 낮추거나 전통적인 루프를 작성해야합니다.

var array = string.split(",").map(Number);


답변

,캐릭터를 분할 하십시오 .

var string = "0,1";
var array = string.split(",");
alert(array[0]);


답변

이것은 ES6 에서 쉽게 달성됩니다 .

Array.from ( ‘string’) 사용 하여 문자열을 배열로 변환 할 수 있습니다 .

Array.from("01")

will console.log

['0', '1']

정확히 당신이 찾고있는 것입니다.


답변

문자열이 이미 목록 형식 인 경우 JSON.parse를 사용할 수 있습니다.

var a = "['a', 'b', 'c']";
a = a.replace(/'/g, '"');
a = JSON.parse(a);


답변

모든 유형의 문자열 변환

var array = (new Function("return [" + str+ "];")());



var string = "0,1";

var objectstring = '{Name:"Tshirt", CatGroupName:"Clothes", Gender:"male-female"}, {Name:"Dress", CatGroupName:"Clothes", Gender:"female"}, {Name:"Belt", CatGroupName:"Leather", Gender:"child"}';

var stringArray = (new Function("return [" + string+ "];")());

var objectStringArray = (new Function("return [" + objectstring+ "];")());

JSFiddle https://jsfiddle.net/7ne9L4Lj/1/

콘솔 결과

여기에 이미지 설명을 입력하십시오

일부 연습은 객체 문자열을 지원하지 않습니다

- JSON.parse("[" + string + "]"); // throw error

 - string.split(",")
// unexpected result 
   ["{Name:"Tshirt"", " CatGroupName:"Clothes"", " Gender:"male-female"}", "      {Name:"Dress"", " CatGroupName:"Clothes"", " Gender:"female"}", " {Name:"Belt"",    " CatGroupName:"Leather"", " Gender:"child"}"]


답변

그런 간단한 배열 멤버의 경우 JSON.parse를 사용할 수 있습니다.

var listValues = "[{\"ComplianceTaskID\":75305,\"RequirementTypeID\":4,\"MissedRequirement\":\"Initial Photo Upload NRP\",\"TimeOverdueInMinutes\":null}]";

var array = JSON.parse("[" + listValues + "]");

이것은 당신에게 숫자의 배열을 제공합니다.

이제 변수 값은 array.length = 1과 같습니다.

가치 출력

array[0].ComplianceTaskID
array[0].RequirementTypeID
array[0].MissedRequirement
array[0].TimeOverdueInMinutes


답변

당신이 사용할 수있는 split

참조 :
http://www.w3schools.com/jsref/jsref_split.asp

"0,1".split(',')