<div dir="ltr">I just came across a use case where I wanted to create a shallow copy of an array, while also updating the value at a particular index.<div><br></div><div>Is it feasible to extend the spread syntax for array literals in a manner that supports updating values at a given index, similar to how the object literal syntax supports updating a particular key?<div><br></div><div>Here's a quick example to illustrate:</div><div><br></div><div><font face="monospace, monospace">    const idx = people.findIndex(/* some predicate */);</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">    if (idx >= 0) {</font></div><div><font face="monospace, monospace">      return [</font></div><div><font face="monospace, monospace">        ...people,</font></div><div><font face="monospace, monospace">        [idx]: { ...people[idx], /* updates */ }</font></div><div><font face="monospace, monospace">      ];</font></div><div><font face="monospace, monospace">    }</font></div><div><br></div><div>I suppose this implies a way to specify indexes in array literals in the general case, but I can't think of any particularly compelling use cases w/out the spread operator involved.<br clear="all"><div><br></div><div>Thanks!</div><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Jeremy Martin<br><div>@jmar777</div></div>
</div></div></div>