Javascript多维数组扁平化的几种方法

//扁平化 指的是 将多维数组转化成一维数组
//这是一个多维数组
var myArray = [
     [1, 2],
     [3, 4, 5],
     [6, 7, 8, 9]
];

//扁平化后的效果
[1, 2, 3, 4, 5, 6, 7, 8, 9]

//第一种实现: 使用concat()和apply()
var myNewArray = [].concat.apply([], myArray);

//第二种实现:使用reduce()
var myNewArray2 = myArray.reduce(function(prev, curr) {
  return prev.concat(curr);
});

//第三种实现:for循环嵌套
var myNewArray3 = [];
for (var i = 0; i < myArray.length; ++i) {
  for (var j = 0; j < myArray[i].length; ++j)
    myNewArray3.push(myArray[i][j]);
}
console.log(myNewArray3);

//第四种实现:ES6 的展开运算符 ...
var myNewArray4 = [].concat(...myArray);
console.log(myNewArray4);

以上内容摘自:Javascript多维数组扁平化

发表评论

电子邮件地址不会被公开。 必填项已用*标注