Javascript 在数组;上…var意味着什么;。原型&x200B;。地图()
我对创建匿名函数和使用map相当陌生,Javascript 在数组;上…var意味着什么;。原型&x200B;。地图(),javascript,arrays,object,ecmascript-6,array.prototype.map,Javascript,Arrays,Object,Ecmascript 6,Array.prototype.map,我对创建匿名函数和使用map相当陌生,…我在下面几行代码中的意思是什么。短暂性脑缺血发作 const airlines=this.state.airlines.map(i=>( {…i,编辑:this.state.editing&&i==item} ) )它被称为,在当前上下文中,它涉及复制对象。这与这样做是一样的: const airlines = this.state.airlines.map(object => { object.editing = this.state.ed
…我在下面几行代码中的意思是什么。短暂性脑缺血发作
const airlines=this.state.airlines.map(i=>(
{…i,编辑:this.state.editing&&i==item}
)
)
它被称为,在当前上下文中,它涉及复制对象。这与这样做是一样的:
const airlines = this.state.airlines.map(object => {
object.editing = this.state.editing && object === item;
return object;
});
所以我们要做的是创建对象的浅层副本,然后向其中添加属性。这就是spread syntax(扩展语法)的目的——创建浅层副本,或为浅层副本收集项(称为rest语法——收集其余项)。下面是一个扩展语法的简化示例:
const arr=[{
姓名:“杰克”
}, {
姓名:“乔”
}];
常量res=arr.map(e=>({…e,
年龄:无限
}));
控制台日志(res)代码>
。作为控制台包装器{
最大高度:100%!重要;
顶部:自动;
}
它是扩展运算符。i、 e{…{a:1,b:2},c:3}
是{a:1,b:2,c:3}
和[…[1,2,3],4]
是[1,2,3,4]
@user202729是的,对映射
返回的对象的键进行赋值callback@Kaiido再次阅读链接的问答之后,看起来答案包括object的扩展语法,但不是问题。也许问题的标题应该更改。@user202729我们目前无法判断什么是i
。链接问题处理最常见的情况(对象和数组),我怀疑OP使用的是一个有自己符号的外来对象。迭代器。