我有这个字符串
foo = "[[0,0,0,0],[1,24,3,3],[2,24,0,3],[3,24,0,3],[4,24,19,3]]";
如何将其转换为JavaScript数组(可能没有拆分字符串,因为数组中有超过16,000个值,我想节省时间)?
答案 0 :(得分:0)
您的意思是将所有子阵列合并为一个吗?如果是,您可以尝试使用以下代码段:
var foo = '[[0,0,0,0],[1,24,3,3],[2,24,0,3],[3,24,0,3],[4,24,19,3]]';
var list = JSON.parse(foo);
var combined = new Array();
for (var counter = 0; counter < list.length; counter++) {
for(var index = 0; index < list[counter].length; index++) {
combined.push(list[counter][index]);
}
}
console.log(combined);
答案 1 :(得分:0)
您可以使用 JSON.parse
将字符串转换为数组,然后使用.concat
方法将数组合并为一个。
<强>样本强>
var foo = "[[0,0,0,0],[1,24,3,3],[2,24,0,3],[3,24,0,3],[4,24,19,3]]";
var output = JSON.parse(foo);
var merged = [].concat.apply([], output);
console.log(merged);
答案 2 :(得分:0)
利用数组上可用的reduce函数
var foo = "[[0,0,0,0],[1,24,3,3],[2,24,0,3],[3,24,0,3],[4,24,19,3]]";
var nested_array = JSON.parse(foo);
var output = nested_array.reduce(function(prev, curr) {
return prev.concat(curr);
});
console.log(output)
&#13;