문자열을 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);
답변
답변
이것은 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