数组扁平化处理
时间:2023-7-25 22:14 作者:小诸葛 分类: JavaScript 正在检查是否收录...
有一个多维数组
const arr = [1, [2, 3, [4, [5]]], 6];
要求转换成:
[1,2,3,4,5,6]
可以使用一下方法解决:
方法一:
const arr = [1, [2, 3, [4, [5]]], 6];
const flattenedArr = arr.flat(Infinity);
console.log(flattenedArr);
方法二:
const flat = arr => arr.reduce((prev, curr) => Array.isArray(curr) ? [...prev, ...flat(curr)] : [...prev, curr], []);
console.log(flat(arr))
方法三:
const flat = arr => {
const flattenedArr = [];
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
flattenedArr.push(...flat(arr[i]));
} else {
flattenedArr.push(arr[i]);
}
}
return flattenedArr;
};
console.log(flat(arr));
推荐阅读:
扫描二维码,在手机上阅读