javascript - 需要将对象添加到处于状态的数组中

标签 javascript arrays reactjs object

我需要将一个对象添加到数组的最后一个对象

我有一个数组,其中包含处于类状态的对象

state={
items:[{key:"333",val:"Hi"},{key:"555", val:"Iam"}]
}

我需要在最后一个项目对象处添加一个过滤器对象

items:[{key:"333",val:"Hi"},{key:"555", val:"Iam",filter:{refine:true}}]

下面的我试过了

    (this.state.items.length-1).concat({filters:{
        refine:true
    }}

最佳答案

您可以简单地使用数组的index 方法访问最后一个对象,修改它并更新状态数组

let state={
    items:[{key:"333",val:"Hi"},{key:"555", val:"Iam"}]
}
let last = state.items[state.items.length - 1];
last = {...last, filter:{refine:true}};

const newState = {
  ...state,
  items: [
      ...state.items.slice(0, -1),
      last
  ]
}

console.log(newState);

关于javascript - 需要将对象添加到处于状态的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55415121/

相关文章:

javascript - 我试图在谁赢谁输的答案弹出之前延迟(剪刀石头布游戏)

javascript - 浏览器如何存储 Etag 以及存储多长时间?

javascript - jQuery fadeIn 使用 onClick 一次一个元素

javascript 日期问题 - 0 变成 1?

javascript - 使用 $setValidity ("required",false) 按要求设置后,AngularJS 文本框未更改为有效

java - 检查并读取 android 中主 json 数组中的内部 json 数组?

php - 如何在 PHP 中编写修改数组的函数?

JavaScript GPA 计算器不读取用户输入

ajax - 知道axios中是否有待处理的请求

javascript - React Bootstrap 按钮看起来褪色了