美文网首页
多维数组降维度

多维数组降维度

作者: lovelydong | 来源:发表于2020-04-07 15:24 被阅读0次

二维数组

let arr = [ [1], [2], [3] ];
arr = Array.prototype.concat.apply([], arr);
console.log(arr);// [1, 2, 3]

let array = [ [1], [2], [3] ];
array = array.flat(2);  //es6 新增
console.log(array); // [1, 2, 3]

多维数组

1. 调用ES6中的flat方法
let arrMore = [1, 2, [3], [[4]]];
arr= arrMore.flat(Infinity);  //使用 Infinity 作为深度,展开任意深度的嵌套数组
console.log(arr); // [1,2,3,4]
2. replace + split
let arrMore = [1, 2, [3], [[4]]];
let str = JSON.stringify(arrMore);
arr= str.replace(/(\[|\])/g, '').split(',');
3. replace + JSON.parse
let arrMore = [1, 2, [3], [[4]]];
let str = JSON.stringify(arrMore);
str = str.replace(/(\[|\]))/g, '');
str = '[' + str + ']';
arr= JSON.parse(str);
4. 普通递归
let ary= [1, 2, [3], [[4]]];
let result = [];
let fn = function(ary) {
  for(let i = 0; i < ary.length; i++) {
    let item = ary[i];
    if (Array.isArray(ary[i])){
      fn(item);
    } else {
      result.push(item);
    }
  }
}
5. 利用reduce函数迭代
function flatten(ary) {
    return ary.reduce((pre, cur) => {
        return pre.concat(Array.isArray(cur) ? flatten(cur) : cur);
    }, []);
}
let ary= [1, 2, [3], [[4]]];
console.log(flatten(ary))
6. 扩展运算符
//只要有一个元素有数组,那么循环继续
while (ary.some(Array.isArray())) {
  ary = [].concat(...ary);
}

相关文章

  • 多维数组降维度

    二维数组 多维数组 1. 调用ES6中的flat方法 2. replace + split 3. replace ...

  • PCA 主成分分析

    主成分根据,多维字段分析降维成几个成分 多维数组降维 几个特征向量对应几个特征空间

  • ndarray数组的操作

    数组的索引和切片 一维数组的索引和切片: 多维数组的索引: 每个维度一个索引值,逗号分割 多维数组的切片:

  • PHP学习笔记(三)

    一、多维数组1、多维数组指的是包含一个或多个数组的数组。 2、注释:数组的维度指示您需要选择元素的索引数。 对于二...

  • JavaScript之数组扁平化

    前言 所谓的数组扁平化指将多维度的数组转换为以为数组。 正文

  • Numpy 数组的重塑与铺平

    数组的重塑即讲一个维度的数组以其固定的数组元素为基础,转换为另一个维度的数组,常见的是一维数组转为多维数组。将一个...

  • 用多维度思维进行降维度攻击

    最近几年“降维攻击”这个词很火,降维打击出自中国科幻作家刘慈欣的科幻小说《三体Ⅲ·死神永生》。降维打击就是将攻击目...

  • 维度细分法

    一、多维度插解 什么是多维度拆解分析方法?多维度:维度1,维度2,维度3...... —— 多角度拆解:维度1+维...

  • 如何多维度思考

    多维度与降维打击 我们常常说的大格局,跨界,一定意义上都是多维度思考的结果,看到的比其他人多一个面,甚至几个面,然...

  • 如何用多维度来看多维度

    多维度与降维打击 我们常常说的大格局,跨界,一定意义上都是多维度思考的结果,看到的比其他人多一个面,甚至几个面,然...

网友评论

      本文标题:多维数组降维度

      本文链接:https://www.haomeiwen.com/subject/ltbvwctx.html