【发布时间】:2019-10-09 21:59:36
【问题描述】:
如何删除所有空数组包装?
从这里到
[[[{"type":"banana"},{"type":"orange"}]]]
到这里
{"type":"banana"},{"type":"orange"}
如果对象作为一个数组,它应该被维护。
【问题讨论】:
标签: javascript arrays typescript multidimensional-array
如何删除所有空数组包装?
从这里到
[[[{"type":"banana"},{"type":"orange"}]]]
到这里
{"type":"banana"},{"type":"orange"}
如果对象作为一个数组,它应该被维护。
【问题讨论】:
标签: javascript arrays typescript multidimensional-array
使用recursion-
const input = [[[{"type":"banana"},{"type":"orange"}]]];
function flattenDeep(input) {
return input.reduce((accu, val) => Array.isArray(val) ? accu.concat(flattenDeep(val)):accu.concat(val), []);
}
console.log(flattenDeep(input));
如果你知道嵌套的深度,你也可以使用内置函数flat。
const input = [[[{"type":"banana"},{"type":"orange"}]]];
console.log(input.flat(2));
【讨论】:
console.log({...flattenDeep(input)});