javascript - 使用 `map` 创建具有更少属性的新对象数组
问题描述
我想用来map
创建一个新的对象数组,这些对象具有原始数组中原始对象的两个属性,所以我正在尝试这个:
const filteredConfigurableModules = configurableModules.map(module =>
module.name, module.configurables
);
但这不起作用,因为只有“名称”被保存到新数组中。我在这里想念什么?
我也试过这个:
const filteredConfigurableModules = configurableModules.map(module => {
name: module.name,
configurables: module.configurables
});
...但最终出现语法错误:
SyntaxError: Unexpected token ':'
解决方案
如我所见,您想map
从一个阵列到另一个阵列。你可以通过两种方式做到这一点:
排队
const filteredConfigurableModules = configurableModules.map(module => ({name: module.name, configurables: module.configurables}));
当您执行内联并返回一个对象时,您必须将其包装在括号中,以便正确评估它。
使用退货声明
const filteredConfigurableModules = configurableModules.map(module => {
return {
name: module.name,
configurables: module.configurables
};
});
推荐阅读
- css - FontAwesome 图标 (::before) 太大了 0.5px
- android - 如何在 RecyclerViewAdapter 中使用 TextWatcher
- sorting - How to order products by custom taxonomies in Woocommerce?
- spring-boot - 如何处理 webclient 抛出的异常?
- c - 为什么我的 while 循环有这样的限制会导致分段错误?
- testing - Azure DevOps | 将测试用例链接到用户故事的测试套件查询
- unity3d - 如何让游戏对象符合其他游戏对象形状
- mysql - SUM() 计算行两次并显示双倍结果
- java - JSP doesn't pass values on request
- html - how to parse a link from a text in python?