web-dev-qa-db-ja.com

カンマを含む文字列を配列に変換する

文字列をJavaScriptの配列に変換する方法を教えてください。

コードを見てください。

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

この場合、alert0,1をポップアップします。配列になると0がポップアップ表示され、alert(array[1]);が呼び出されると1がポップアップ表示されます。

そのような文字列をJavaScriptの配列に変換する機会はありますか?

304
Scott

このような単純な配列メンバの場合は、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);
573
I Hate Lazy

分割,文字で分割します。

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

これは ES6 で簡単に実現できます。

Array.from( 'string') ;で文字列を配列に変換できます。

Array.from("01")

console.logになります

['0', '1']

まさにあなたが探しているものです。

73
Ray Kim

文字列がすでにリスト形式の場合は、JSON.parseを使用できます。

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

すべての種類の文字列を変換する

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/ /

コンソールの結果

enter image description here

いくつかの慣習はオブジェクト文字列をサポートしません

- 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"}"]
23
Andi AR

そのような単純な配列メンバーの場合は、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
17
Raghav Chaubey

splitを使うことができます

参照: http://www.w3schools.com/jsref/jsref_split.asp

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

15
dm03514

ES6を使用するもう1つのオプションは、 Spread 構文を使用することです。

var convertedArray = [..."01234"];

var stringToConvert = "012";
var convertedArray  = [...stringToConvert];
console.log(convertedArray);
14
Abhinav Galodha

次のように、組み込みの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] );
10
Dan Mantyla

以下の "Try it Yourself"の例を参照してください。

定義と使用方法split()メソッドは、文字列を部分文字列の配列に分割して新しい配列を返すために使用されます。

ヒント:区切り文字として空の文字列( "")を使用すると、文字列は各文字に分割されます。

注意:split()メソッドは元の文字列を変更しません。

var res = str.split(",");
3
HAROONMIND

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"]

0
Hitesh Sahu

文字 '['、 ']'を削除し、 '、'で分割します

let array = stringObject.replace('[','').replace(']','').split(",").map(String);
0
Samuel Ivan
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 =>グローバルフラグ

0
KARTHIKEYAN.A
var str = 'a,b,hi,ma,n,yu';

var strArr = Array.prototype.filter.call(str、eachChar => eachChar!== '、');

0
Abhimanyu

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で文字列を配列に変換するその他の例:

  1. Split()–セパレータなし:
  2. Split()–空の文字列セパレータ:
  3. Split()–開始/終了の区切り文字:
  4. 正規表現セパレーター:
  5. 括弧のキャプチャ:
  6. 制限引数付きのSplit()

    このリンクをチェックしてください==> https://www.tutsmake.com/javascript-convert-string-to-array-javascript/

0
Developer