数组扁平化

普通的递归实
function flatten(arr) {
  let result = [];

  for(let i = 0; i < arr.length; i++) {
    if(Array.isArray(arr[i])) {
      result = result.concat(flatten(arr[i]));
    } else {
      result.push(arr[i]);
    }
  }
  return result;
}
reduce
function flatten(arr) {
    return arr.reduce(function(prev, next){
        return prev.concat(Array.isArray(next) ? flatten(next) : next)
    }, [])
}

扩展运算符实现
function flatten(arr) {
    while (arr.some(item => Array.isArray(item))) {
        arr = [].concat(...arr);
    }
    return arr;
}
arr.toString().split(',')
arr.toString().split(',')
arr.flat(Infinity);
 arr.flat(Infinity);
点击查看代码

posted @ 2024-02-19 16:29  jialiangzai  阅读(23)  评论(0)    收藏  举报