降维数组的多种方式~ 原生js

简介: 降维数组的多种方式~ 原生js

前言

今天整理了下降维数组的多种方法笔记以供大家参考和学习,希望对大家有所帮助,共同成长进步💪~
如果大家喜欢,可以点赞或留言💕 ~~,谢谢大家⭐️⭐️⭐️~

1.利用[].concat.apply实现降维

var arr=[[1,2],[3,4]];
function Jw(obj){
    console.log(Array.prototype.concat.apply([],obj))
    return Array.prototype.concat.apply([],obj);
}
Jw(arr);

2.如果concat方法的参数是一个元素,该元素会直接插入新数组中;如果参数是一个数组,该数组的各个元素将被插入到新数组中

function reduceDimension(arr){
    let ret = [];
    for(let i=0;i<arr.length;i++){
        ret=ret.concat(arr[i])
    }
    console.log(ret)
    return ret;
}
reduceDimension(arr)  

3.递归

function reduceDimension(arr){
    let ret = [];
    let toArr = function(arr){
        arr.forEach(function(item){
            item instanceof Array ? toArr(item) : ret.push(item);
        });
    }
    toArr(arr);
    console.log(ret)
    return ret;
}
reduceDimension([1, 2, [3, 4, [5, 6]]])   

4.flat

let list = [1, 2, 3, [4, [5]]];
let res = list.flat(Infinity)
console.log(res) // [1, 2, 3, 4, 5]

5.reduce将二维数组转化为一维

let arr = [[0, 1], [2, 3], [4, 5]]
let newArr = arr.reduce((pre,cur)=>{
    return pre.concat(cur)
},[])
console.log(newArr); // [0, 1, 2, 3, 4, 5]

6.reduce将多维数组转化为一维

let arr = [[0, 1], [2, 3], [4,[5,6,7]]]
const newArr = function(arr){
   return arr.reduce((pre,cur)=>pre.concat(Array.isArray(cur)?newArr(cur):cur),[])
}
console.log(newArr(arr)); //[0, 1, 2, 3, 4, 5, 6, 7]
如果大家还有其他的方法欢迎评论区评论,以供大家学习参考哦😊
谢谢大家阅读⭐️⭐️⭐️,如果喜欢,可以点赞或留言哟💕~~~~
目录
相关文章
|
21天前
|
JavaScript
js 解析 byte数组 成字符串
js 解析 byte数组 成字符串
|
15天前
|
JavaScript 前端开发
js删除数组最后一个元素
js删除数组最后一个元素
|
9天前
|
移动开发 前端开发 JavaScript
原生JavaScript+canvas实现五子棋游戏_值得一看
本文介绍了如何使用原生JavaScript和HTML5的Canvas API实现五子棋游戏,包括棋盘的绘制、棋子的生成和落子、以及判断胜负的逻辑,提供了详细的代码和注释。
13 0
原生JavaScript+canvas实现五子棋游戏_值得一看
|
14天前
|
JavaScript 前端开发 索引
|
20天前
|
JavaScript
js 循环数组取值
js 循环数组取值
|
4天前
|
JavaScript 前端开发 C++
JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
|
4天前
|
JavaScript 前端开发
JavaScript从二维数组抽取元素组成新数组的三种方法
JavaScript从二维数组抽取元素组成新数组的三种方法
|
26天前
|
存储 JavaScript 前端开发
JS中的数组有哪些常用操作函数和属性
【9月更文挑战第7天】JS中的数组有哪些常用操作函数和属性
11 1
|
6天前
|
JavaScript 前端开发
JavaScript 中 五种迭代数组的方法 every some map filter forEach
本文介绍了JavaScript中五种常用数组迭代方法:every、some、filter、map和forEach,并通过示例代码展示了它们的基本用法和区别。
|
6天前
|
JavaScript 前端开发 索引
JavaScript 数组中splice()的用法
本文介绍了JavaScript数组方法splice()的三种用法:删除元素、插入元素和替换元素,通过具体代码示例展示了如何使用splice()方法进行数组的修改操作。