文字列をJavaScriptの配列に変換する方法を教えてください。
コードを見てください。
var string = "0,1";
var array = [string];
alert(array[0]);
この場合、alert
は0,1
をポップアップします。配列になると0
がポップアップ表示され、alert(array[1]);
が呼び出されると1
がポップアップ表示されます。
そのような文字列をJavaScriptの配列に変換する機会はありますか?
このような単純な配列メンバの場合は、JSON.parse
を使用できます。
var array = JSON.parse("[" + string + "]");
これはあなたに数の配列を与える。
[0, 1]
.split()
を使うと、文字列の配列になります。
["0", "1"]
JSON.parse
では、サポートされているデータ型に限定されることに注意してください。 undefined
やfunctionsのような値が必要な場合は、eval()
またはJavaScriptパーサーを使う必要があります。
あなたが.split()
を使いたいが、あなたも数字の配列が欲しいなら、あなたはIE8以下のためにそれをシムするか、単に伝統的なループを書く必要があるけれどもあなたはArray.prototype.map
を使うことができます。
var array = string.split(",").map(Number);
分割,
文字で分割します。
var string = "0,1";
var array = string.split(",");
alert(array[0]);
これは ES6 で簡単に実現できます。
Array.from( 'string') ;で文字列を配列に変換できます。
Array.from("01")
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
ES6を使用するもう1つのオプションは、 Spread 構文を使用することです。
var convertedArray = [..."01234"];
var stringToConvert = "012";
var convertedArray = [...stringToConvert];
console.log(convertedArray);
次のように、組み込みのmap関数を無名関数と一緒に使用します。
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] );
以下の "Try it Yourself"の例を参照してください。
定義と使用方法split()メソッドは、文字列を部分文字列の配列に分割して新しい配列を返すために使用されます。
ヒント:区切り文字として空の文字列( "")を使用すると、文字列は各文字に分割されます。
注意:split()メソッドは元の文字列を変更しません。
var res = str.split(",");
Split( "、")は、カンマを含む文字列を文字列配列に変換できます。これが私のコードスニペットです。
var input ='Hybrid App, Phone-Gap, Apache Cordova, HTML5, JavaScript, BootStrap, JQuery, CSS3, Android Wear API'
var output = input.split(",");
console.log(output);
["ハイブリッドアプリ"、 "Phone-Gap"、 "Apache Cordova"、 "HTML5"、 "JavaScript"、 "BootStrap"、 "JQuery"、 "CSS3"、 "Android Wear API"]
文字 '['、 ']'を削除し、 '、'で分割します
let array = stringObject.replace('[','').replace(']','').split(",").map(String);
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] =>すべてのa-z、A-Z、0-9に一致
(): =>一致したすべての要素をグループ化する
$ 1 =>置換文字列は、正規表現内の最初の一致グループを表します。
g =>グローバルフラグ
var str = 'a,b,hi,ma,n,yu';
var strArr = Array.prototype.filter.call(str、eachChar => eachChar!== '、');
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"]
以下の方法を使用して、JavaScriptで文字列を配列に変換するその他の例:
制限引数付きのSplit()
このリンクをチェックしてください==> https://www.tutsmake.com/javascript-convert-string-to-array-javascript/