javascript - 映射数组时在JS中解构对象的正确语法是什么?
问题描述
我有一个对象数组,我想在解构元素时对数组进行 .map() 。有没有办法实现它?
我目前有:
const nav = documents.map((category, index) => {
const categoryName = category.data.category_name[0].text;
console.log(index);
return categoryName;
});
我想实现:
const nav = documents.map((*destructure here so I get .text property*, index) => {
const categoryName = category.data.category_name[0].text;
console.log(index);
return categoryName;
});
编辑:请注意我也需要索引index
。
解决方案
只要您只想要category_name
数组的索引 0,您就可以这样做。您只需在该级别使用数组解构来从该索引分配一个变量。该变量位于另一个解构对象中。
documents = [{
data: {
category_name: [{
text: "Title 1"
}]
}
}, {
data: {
category_name: [{
text: "Title 2"
}, {
text: "Title 3"
}]
}
}];
const nav = documents.map(({
data: {
category_name: [{
text: category_name
}]
}
}, index) => {
console.log(index);
return category_name;
});
console.log(nav);
如您所见,解构模式就像对象字面量一样,只是您将要获取的值替换为变量。
推荐阅读
- http-status-code-404 - 404 在 ngrok 上找不到
- javascript - iOS - JSValue 保留但不释放对象
- logical-operators - 给定 A∧B 仅使用 → 和 ⊕(Xor) 的等价物是什么
- mysql - 数据截断:“”在插入或更新值时
- gradle - 在 Gradle protobuf 插件中排除特定文件
- excel - 脱离上下文并选择列中的填充值
- php - Laravel Eloquent 加入 IN 子句
- bilby - 从文件设置功率谱密度
- python - 可以从 FTP 存储 getvalue() 并存储到数据帧 Python
- python - 如何检查 random.choice 的打印值是否与“猜测”变量匹配