我的数组的键值是另一个数组。我只想过滤数组值。
这是我的数组:
const array = [{
work: [{
day: 'Monday',
number: 8
}]
},
{
work: [{
day: 'Tuesday',
number: 5
}]
},
{
work: [{
day: 'Saturday',
number: 4
}]
},
]
我想要的数组是:
const desiredArray = [{
day: 'Monday',
number: 8
}, {
day: 'Tuesday',
number: 5
}, {
day: 'Saturday',
number: 4
}];
我试过了
const desiredArray = Object.values(array)
const desiredArray = Object.keys(array).map(item => array[item])
都没有奏效。
答案 0 :(得分:2)
您可以使用 .flatMap()
获得所需的输出:
const input = [{
work: [{ day: 'Monday', number: 8 }]
}, {
work: [{ day: 'Tuesday', number: 5 }]
}, {
work: [{ day: 'Saturday', number: 4 }]
}];
const output = input.flatMap(({ work }) => work);
console.log(output);
.as-console-wrapper { max-height: 100% !important; top: 0; }
答案 1 :(得分:0)
您可以使用 map
从给定数组返回一个新数组。
const array = [{
work: [{
day: 'Monday',
number: 8
}]
},
{
work: [{
day: 'Tuesday',
number: 5
}]
},
{
work: [{
day: 'Saturday',
number: 4
}]
},
]
const desired = array.map(item => item.work[0]);
console.log(desired);
答案 2 :(得分:0)
使用 map
和 flat
。
array.map(Object.values).flat(2)
const array = [{
work: [{
day: 'Monday',
number: 8
}]
},
{
work: [{
day: 'Tuesday',
number: 5
}]
},
{
work: [{
day: 'Saturday',
number: 4
}]
},
]
console.log(array.map(Object.values).flat(2))