每天一条JS小知识点 Javascript多维数组扁平化

每天一条JS小知识点 Javascript多维数组扁平化

var myArray = [[1, 2],[3, 4, 5], [6, 7, 8, 9]];
要求返回:[1, 2, 3, 4, 5, 6, 7, 8, 9]

  1. 使用concat()和apply()
var myNewArray = [].concat.apply([], myArray);
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
  1. 使用reduce()
var myNewArray = myArray.reduce(function(prev, curr) {
    
    
  return prev.concat(curr);
});
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
  1. 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);
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
  1. 使用 ES6 的展开运算符
var myNewArray4 = [].concat(...myArray);
console.log(myNewArray4);
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
  1. 使用 Lodash 的 flattenDeep()
_.flattenDeep([1, [2, [3, [4]], 5]]);
// => [1, 2, 3, 4, 5]

猜你喜欢

转载自blog.csdn.net/weixin_43881166/article/details/115294109
今日推荐