<body>
<script>
//Es6的Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组,对原数据没有影响。
//默认只会“拉平”一层,如果想要“拉平”多层的嵌套数组,可以将flat()方法的参数写成Infinity
const s = [1, [2, 3, 4, [4, 8, 9, [78, 79, 88]]]];
console.log(s.flat(Infinity)) // [1, 2, 3, 4, 4, 8, 9, 78, 79, 88]
</script>
<script>
let arr = [1, [2, [3, 4]]];
//遍历数组arr,若arr[i]为数组则递归遍历,直至arr[i]不为数组然后与之前的结果concat
function MapConcat(arr) {
let arrList = [];
arr.map(function (v, i) {
if (Array.isArray(v)) {
arrList = arrList.concat(MapConcat(v));
} else {
arrList.push(v)
}
})
return arrList;
}
console.log(MapConcat(arr)) //[1, 2, 3, 4]
</script>
</body>
多维数组转换为一维数组
最新推荐文章于 2022-06-26 17:17:37 发布