문자열을 JavaScript 배열로 변환하려면 어떻게해야합니까?
코드를보십시오 :
var string = "0,1";
var array = [string];
alert(array[0]);
이 경우 alert
팝업이 나타납니다 0,1
. 배열 일 때는 a를 팝업 0
하고 alert(array[1]);
호출하면를 팝업해야합니다 1
.
그러한 문자열을 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);
JSON.parse();
IE6, IE7에서는 사용할 수 없습니다. 이 경우에는 String.split(',');
더 쉽다고 생각 합니다.
var array = (new Function("return [" + string + "];"))()
있습니다. 사용하면 .split()
번호가 필요하지 않은 경우, 그렇지 않으면 결과를 매핑 할 필요 했어 괜찮아.
eval
). 배열에 클라이언트 측 입력의 값이 포함되어 있으면 안전하지 않습니다.
이것은 ES6 에서 쉽게 달성됩니다 .
Array.from ( 'string') 사용 하여 문자열을 배열로 변환 할 수 있습니다 .
Array.from("01")
will console.log
['0', '1']
정확히 당신이 찾고있는 것입니다.
JSON.parse
하는 Array.from
오전으로 사용 ES6
. 감사합니다Ray Kim
Array.from("0, 1, 233")
돌아 ["0", ",", " ", "1", ",", " ", "2", "3", "3"]
오면 내가 원한다면 어쩌지 [0, 1, 233]
?
Set
문자열 인 경우에만 신뢰할 수 있습니다.
문자열이 이미 목록 형식 인 경우 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
ES6를 사용하는 또 다른 옵션은 스프레드 구문을 사용하는 것입니다.
var convertedArray = [..."01234"];
var stringToConvert = "012";
var convertedArray = [...stringToConvert];
console.log(convertedArray);
다음과 같이 내장 함수를 익명 함수와 함께 사용하십시오.
string.split(',').map(function(n) {return Number(n);});
[편집] 사용 방법은 다음과 같습니다.
var string = "0,1";
var array = string.split(',').map(function(n) {
return Number(n);
});
alert( array[0] );
javascript Spread Syntax 를 사용 하여 문자열을 배열로 변환 할 수 있습니다 . 아래 솔루션에서 쉼표를 제거한 다음 문자열을 배열로 변환합니다.
var string = "0,1"
var array = [...string.replace(',', '')]
console.log(array[0])
JavaScript에서 쉼표로 구분 된 문자열을 배열로 변환하는 방법은 무엇입니까?
var string = 'hello, world, test, test2, rummy, words';
var arr = string.split(', '); // split string on comma space
console.log( arr );
//Output
["hello", "world", "test", "test2", "rummy", "words"]
아래의 방법을 사용하여 자바 스크립트에서 문자열을 배열로 변환하는 예 :
한계 인수가있는 Split ()
이 링크를 확인하십시오 ==> https://www.tutsmake.com/javascript-convert-string-to-array-javascript/
분할 ( ",")은 쉼표가있는 문자열을 문자열 배열로 변환 할 수 있습니다. 여기 내 코드 스 니펫이 있습니다.
var input ='Hybrid App, Phone-Gap, Apache Cordova, HTML5, JavaScript, BootStrap, JQuery, CSS3, Android Wear API'
var output = input.split(",");
console.log(output);
[ "하이브리드 앱", "전화 갭", "Apache Cordova", "HTML5", "JavaScript", "BootStrap", "JQuery", "CSS3", "Android Wear API"]
var i = "[{a:1,b:2}]",
j = i.replace(/([a-zA-Z0-9]+?):/g, '"$1":').replace(/'/g,'"'),
k = JSON.parse(j);
console.log(k)
// => 정규 표현식 선언
[a-zA-Z0-9] => 모든 az, AZ, 0-9와 일치
() : => 일치하는 모든 요소를 그룹화
$ 1 => 교체 문자열은 정규식의 첫 번째 일치 그룹을 나타냅니다.
g => 전역 플래그
string[0] === '0'
, 질문에서). 대부분의 경우 문자열을 문자 배열로 취급하고 배열 메서드를 사용할 수 있습니다.