javascript - ...var 在 Array.prototype.map() 上的含义是什么
问题描述
我在创建匿名函数和使用地图方面相当陌生,...i
以下代码行的含义是什么。蒂亚
const airlines = this.state.airlines.map(i => (
{ ...i, editing : this.state.editing && i===item }
)
)
解决方案
它被称为传播语法,在当前上下文中,它涉及复制对象。这和这样做是一样的:
const airlines = this.state.airlines.map(object => {
object.editing = this.state.editing && object === item;
return object;
});
所以我们要做的是创建对象的浅表副本,并为其添加属性。这是传播语法的目的——制作浅拷贝,或为浅拷贝收集项目(称为休息语法——收集其余项目)。这是扩展语法的简化示例:
const arr = [{
name: "Jack"
}, {
name: "Joe"
}];
const res = arr.map(e => ({ ...e,
age: Infinity
}));
console.log(res);
.as-console-wrapper {
max-height: 100% !important;
top: auto;
}
推荐阅读
- python - 如何在python 3中生成随机浮点数
- oracle-apex - 如何通过使用 BI Publisher 在 APEX 中传递参数来打印单个查询
- javascript - highlight.js 的自定义语言定义
- c - 使用 sem_t 时大小为 8 的无效写入
- angular - 如何在 ftl 文件中获取当前页面 url
- javascript - Angular 模板未在 RxJS 可观察更改上更新
- api - 无法连接到服务器端 API
- android - Android Studio 4.2 在我尝试打开它时没有响应
- python - 为什么在这个例子中没有提出未定义的 NameError?
- angular - 同一客户端的不同重定向 uri - Keycloak + Angular + SpringBoot