[1, [2], 3].flatMap(v => v)
// -> [1, 2, 3]
如果想将⼀个多维数组彻底的降维,可以这样实现
const flattenDeep = (arr) => Array.isArray(arr)
? arr.reduce( (a, b) => [...a, ...flattenDeep(b)] , [])
: [arr]
flattenDeep([1, [[2], [3, [4]], 5]])
扩展
Array.isArray(object)
参数
object:要检测的内容返回值
返回值是[布尔]类型的。
如果传进来的object是[数组],返回true,如果不是数组,则返回false。
Array.isArray([1, 2, 3, 4]); // --> true
var obj = {
a: 1,
b: 2
};
Array.isArray(obj); // --> false
Array.isArray(new Array); // --> true
Array.isArray("Array"); // --> false