我敢肯定有一些方法可以使它更短:
someObj.array1
.map((item) => item.array2)
.flat()
.map((item) => item.array3)
.flat()
.map((item) => item.array4)
.flat();
答案 0 :(得分:0)
您可以通过递归方法来移交初始数组和所需键。
function flat(array, [key, ...rest]) {
return key
? flat(array.map(item => item[key]).flat(), rest)
: array;
}
console.log(flat(someObj.array1, ['array2', 'array3', 'array4']));