首页 > 解决方案 > 将数组前一个对象分配给下一个元素并更新最后一个

问题描述

我需要我的应用程序需要将对象从前一个元素放置到下一个元素并更新最后一个元素。

我只是尝试分配,但它可能是错误的方式,因为它不起作用 - 值是垃圾

let coordinate=[{x:4, y:3} ,{x:4, y:4},{x:4, y:5},{x:4, y:6}];

for(let i=0;i<coordinate.length-2;++i){
   coordinate[i]=coordinate[i+1];
}
++coordinate[coordinate.length-1].y;
console.log(coordinate);

我认为这在逻辑上是正确的,但也许我更新它的方式是错误的?

标签: javascriptreactjs

解决方案


如果我做对了,你想做这样的事情:删除第一个元素,然后推送一个新元素,它是最后一个元素的更新版本。

let coordinate=[{x:4, y:3} ,{x:4, y:4},{x:4, y:5},{x:4, y:6}];
coordinate.shift();
const lastElm = coordinate[coordinate.length - 1];
coordinate.push({
  ...lastElm,
  y: lastElm.y + 1
});
console.log(coordinate);


推荐阅读