... var在Array.prototype..map()上意味着什么

时间:2019-06-03 02:41:15

标签: javascript arrays object ecmascript-6 array.prototype.map

我在创建匿名函数和使用Map方面还很陌生,...i在以下代码行中的含义是什么。 tia

const airlines = this.state.airlines.map(i => ( { ...i, editing : this.state.editing && i===item } ) )

1 个答案:

答案 0 :(得分:0)

它被称为spread syntax,在当前上下文中它涉及复制对象。与此相同:

const airlines = this.state.airlines.map(object => {
    object.editing = this.state.editing && object === item;
    return object;
});

所以我们要做的是创建对象的浅表副本,并向其添加属性。这是扩展语法的目的-制作浅表副本,或为浅表副本收集项(称为rest语法-收集其余项)。这是传播语法的简化示例:

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;
}

相关问题