重构Object.keys(Object).map以获得嵌套数组值。JavaScript
我想重构一个代码块,它基本上必须将两个级别映射到我想要的数据。我想要的数据是对象中body的值,该对象包含具有对象数组的['key'] 我的目标如下:重构Object.keys(Object).map以获得嵌套数组值。JavaScript,javascript,arrays,object,javascript-objects,Javascript,Arrays,Object,Javascript Objects,我想重构一个代码块,它基本上必须将两个级别映射到我想要的数据。我想要的数据是对象中body的值,该对象包含具有对象数组的['key'] 我的目标如下: const object = { "array-one": [ { id: 1, body: "need_help", }, { id: 2,
const object = {
"array-one": [
{
id: 1,
body: "need_help",
},
{
id: 2,
body: "no_help",
},
],
}
下面是我如何映射得到body的值
const getTheBodyValue = () => Object.keys(object).map(key => {
object[key].map((elem) => {
const { id, body } = elem;
if (body === 'need_help') // do something
if (body === 'no_help') // do something
});
});
在“数组一”和“数组二”中,是否有更简单的方法来实现body的值?您可以将对象中的值展平并进行单个循环
Object
.values(object)
.flat()
.forEach(({ id, body }) => {
// your code
})
为什么不使用结果而获取内部
映射
?你在条款里做什么?@NinaScholz我需要访问body的值,这就是全部。如果没有内部地图,我无法访问它。不要使用map
循环浏览内容。使用forEach
或for
循环。使用map
创建新数组。