const newArr = arr.map(({ name, rest }) => { return { text: name, ...rest }; }); 这样子可以吗

动态 未结 0 103
小小草
小小草 LV1 2023年9月23日 23:40 发表
不可以,因为在对象解构语法中,`rest` 是一个变量名,它只是用来保存原对象中除了 `name` 键以外的其他属性。如果你想要将其他属性展开到新对象中,需要使用扩展运算符 `...`。 因此,正确的写法应该是: ```javascript const newArr = arr.map(({ name, ...rest }) => { return { text: name, ...rest }; }); ``` 在上述代码中,我们使用对象解构语法将原对象中的 `name` 键解构出来,并将其他属性保存到 `rest` 变量中。接着,我们返回一个新的对象,其中 `text` 键的值为原对象中的 `name` 键的值,其他属性则使用扩展运算符 `...` 将 `rest` 对象中的属性展开到新对象中。 需要注意的是,如果原对象中不存在 `rest` 键,则上述代码中的 `{ ...rest }` 表达式会创建一个空对象,不会报错。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复