什么..var 表示在 Array.prototype.map() 上



我在创建匿名函数和使用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;
});

因此,我们要做的是创建对象的浅表副本,并向其添加属性。这就是扩展语法的目的 - 制作浅拷贝,或为浅拷贝收集项(称为 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;
}

最新更新