扁平化多维数组

1.使用扩展运算符可以快速扁平化数组:

const arr = [11, [22, 33], [44, 55], 66];
const flatArr = [].concat(...arr); //=> [11, 22, 33, 44, 55, 66]
复制代码

2.不幸的是,上面的技巧只能适用二维数组,但是使用递归,我们可以扁平化任意纬度数组:

function flattenArray(arr) {
  const flattened = [].concat(...arr);
  return flattened.some(item => Array.isArray(item)) ? 
    flattenArray(flattened) : flattened;
}

const arr = [11, [22, 33], [44, [55, 66, [77, [88]], 99]]];
const flatArr = flattenArray(arr); 
//=> [11, 22, 33, 44, 55, 66, 77, 88, 99]
3.

var arr = [11, [22, 33], [44, [55, 66, [77, [88]], 99]]];

var result=arr.toString().split(',');// ["1", "2", "1", "2", "3", "2", "3", "2", "3", "4"]

猜你喜欢

转载自blog.csdn.net/weixin_38098192/article/details/81019702