var arrayX = [ ["fire", "lightning"], [3, "ice"], [85], ["wind", "earth", 0] ];
在上面的示例中,arrayX
由四个元素组成,每个元素也是一个数组。现在,arrayX.length
等于4
。
我想知道是否可以删除里面的所有四对方括号,只留下最外面的括号,这样计算机现在可以计算arrayX
中所有单个元素的总数。我的意思是,像这样:
var arrayX = ["fire", "lightning", 3, "ice", 85, "wind", "earth", 0];
现在,arrayX.length
返回8
,这是我想要获得的数字。几天前我开始学习编程,所以我不确定如何解决这个问题。提前谢谢。
答案 0 :(得分:7)
无需循环
arrayX = [].concat.apply([], arrayX);
答案 1 :(得分:1)
使用Array.prototype.reduce()
:
var flattened = [ ["fire", "lightning"], [3, "ice"], [85], ["wind", "earth", 0] ].reduce(function(a, b) {
return a.concat(b);
}, []);
答案 2 :(得分:-1)
我自己是concat方法的粉丝
function concatArray() {
var arrayX = [ ["fire", "lightning"], [3, "ice"], [85], ["wind", "earth", 0] ];
arrayX = [].concat.apply([], arrayX);
console.log(arrayX.length);
}
concatArray();