一、数组的concat方法了解一下
concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
来个例子: cancat与递归
let arr = [1,2,[3,4],[5,6,[7,8]]]
const flat = (arr) => {
let newarr = [];
arr.forEach((el,i) => {
// 如果子项是数组,将这个数组降纬后拼接
if (Array.isArray(el)){
newarr = newarr.concat(flat(el));
} else {
newarr.push(el)
}
});
return newarr;
}
console.log(flat(arr)) //[1,2,3,4,5,6,7,8]
二、超方便的toString()
object.toString()
表示该对象的字符串。
[1, [2, 3, [4]]].toString()
// "1,2,3,4"
let arr = [1,2,[3,4],[5,6,[7,8]]]
const flat2 = (arr) => {
return [...(arr.toString().replace(/,/g,''))]
}
console.log(flat2(arr))