const arr = [1, [2, 3], [4, 5, [6, 7]]];//三维
// 法一: 利用数组的 flat 方法,参数为 Infinity 时可将任意维数组变为一维
const result_str = arr.flat(2); //参数是转的次数
//法二:这样会将数字变为字符串,没有限制类型可以这样做
let result_str1 = arr.join().split(',');
let result_str2 = arr.toString().split(',');
// 法三:利用数组的 reduce 和 concat 方法,(类似递归的方法)
function concatArr(array) {
var newArr = array.reduce((per, cur) => {
return per.concat(Array.isArray(cur) ? concatArr(cur) : cur);
}, []);
return newArr;
}
console.log(concatArr(arr));
// 法四:利用数组的 扩展运算符和 concat 方法,将二维数组变一维
var arr1 = [].concat(...[[1, 4, 5, 6], [8, 4, 7, 6], [1, 5, 10, 47]]);
console.log(arr1)
多维数组转成一维数组的几种方法
最新推荐文章于 2024-08-27 15:59:21 发布