js将多维数组变成一维数组
发布日期:2021-05-10 11:38:56 浏览次数:12 分类:精选文章

本文共 3117 字,大约阅读时间需要 10 分钟。

���������������������������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1. ������������������

���������������������������������������������������������������������������������������������������������������������������

function arrReduce(someArr) {
for(let i = 0; i < someArr.length; i++) {
if(Array.isArray(someArr[i])) {
arrReduce(someArr[i]);
} else {
arrMax.push(someArr[i]);
}
}
}
let content = [1,2,3,4,5,[6,7,[8,9,10,[11,12,13]]]];
let arrMax = [];
arrReduce(content);
console.log(arrMax);

2. ������ reduce ������

ES6��������� reduce ������������������������������������������������������������������������������������������������������������

let arr1 = [1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]];
const flatten1 = arr1 => arr1.reduce((acc, val) => acc.concat(Array.isArray(val) ? flatten1(val) : val), []);
console.log(flatten1(arr1));

3. ������ join ������

������ join ��������������������������������������������������������������� split ������������������������������������������������������������������������������������

let arr1 = [1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]];
let newArray = new Array();
for(let item of arr1.join().split(",")) {
newArray.push(Number(item));
}
console.log(newArray);

4. ������ toString ������

toString ��������� join ���������������������������������������������������������������������

let arrPol = [1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]];
let newArray = new Array();
for(let item of arrPol.toString().split(',')) {
newArray.push(Number(item));
}
console.log(newArray);

5. ������������������������

���������������������������������������������������������������������������������������

let arrKol = [1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]];
let newArr = [];
for(let item of (arrKol + '').split(',')) {
newArr.push(Number(item));
}
console.log(newArr);

6. ������ ES6 flat ������

ES6 ��������� flat ������������������������������������������������������ n ������ 1 ������������������������������������������������������

console.log([1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]].flat());
// ���������[1,2,3,3,4,5,6,7,8,9,10,11,12,13]
console.log([1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]].flat(2));
// ���������[1,2,Array(2),5,6,7,8,9,Array(3)]
console.log([1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]].flat(Infinity));
// ���������[1,2,3,3,4,5,6,7,8,9,10,11,12,13]
console.log([1, [2, , 3, ,4]].flat());
// ���������[1,2,3,4]

������

������������������������������������������������������������������������������ reduce ������������������������������������������������������������ flat ������������������������ JavaScript ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

上一篇:js字符串比较出重复最多的字符和重复最多的次数
下一篇:JS中关于this指向得一道经典面试题

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年04月21日 02时35分01秒