整个列表都作为一个字符串变量提供。
instruments = '["guitar","bass","drums","keyboard"]';
如何将字符串转换为数组,以便我可以在每个单独的div标签中打印出每个项目?
for(var i=0;i<instruments.length;i++){
document.write("<div>"+instruments[i]+"</div>");
}
整个列表都作为一个字符串变量提供。
instruments = '["guitar","bass","drums","keyboard"]';
如何将字符串转换为数组,以便我可以在每个单独的div标签中打印出每个项目?
for(var i=0;i<instruments.length;i++){
document.write("<div>"+instruments[i]+"</div>");
}
如果字符串包含一个有效的JSON数组(就像在您的示例中),您可以使用JSON.parse
,如下所示:
instrumentsString = '["guitar","bass","drums","keyboard"]';
instrumentsArray = JSON.parse(instrumentsString);
JSON.parse
函数,因此您可能需要包含一种实现。例如,jQuery带有一个实现,您还可以使用Douglas Crockford的json2。JSON.parse('["guitar","bass","drums","keyboard"]');
// -> ["guitar", "bass", "drums", "keyboard"]
假设您有一个名为 instruments
的变量:
使用JSON.parse()
如下:
var instrumentsArray = JSON.parse(instruments);
或者,可以像这样做:
instruments = instruments.replace(/\[(.*?)\]/, "$1");
var instrumentsArray = instruments.split(/,/);
for (var i = 0; i < instrumentsArray.length; i++) {
// instrumentsArray[i] is the current element
}
var instruments = '["guitar","bass","drums","keyboard"]';
var instruments_array = eval(instruments);
你可以简单地对其进行eval
操作
instruments = '["guitar","bass","drums","keyboard"]';
var instrumentsArray = eval(instruments);
那么
for(var i=0;i<instrumentsArray.length;i++){
document.write("<div>"+instrumentsArray[i]+"</div>");
}
var myString = "zero one two three four";
var mySplitResult = myString.split(" ");
for(i = 0; i < mySplitResult.length; i++){
document.write("<br /> Element " + i + " = " + mySplitResult[i]);
}
"
和'
的处理完全相同。 - jwueller