let arr = [1, 2, 3, [4, [5, 6]], 7]; //测试用例
//递归解决+展开运算符
function func(arr) {
let result = [];
arr.forEach(element => {
if (Array.isArray(element)) {
result = [...result,...func(element)]
} else {
result.push(element)
}
});
return result;
}
console.log(func(arr))
// 利用join将其转化为字符串 再分割
function func(arr) {
let str = arr.join(","); //'1,2,3,4,5,6,7'
let arr1 = str.split(",").map(ele=>{
return +ele
})
return arr1
}
// 正则 split map
console.log(JSON.stringify(arr).replace(/\[|\]/g,"").split(",").map((el)=>{return Number(el)}))
//展开运算符 arr = [...arr]
function flatten1(arr) {
//当里面存在数组
while(arr.some((el)=>Array.isArray(el))){
arr = [].concat(...arr);
}
}
console.log(flatten1([1,2,[2,3]]));
数组扁平化方法
最新推荐文章于 2023-04-07 16:29:46 发布