gpt4 book ai didi

javascript - 如何更改数组中对象的第一个 bool 值 react native ?

转载 作者:行者123 更新时间:2023-11-28 17:30:21 25 4
gpt4 key购买 nike

我有一个来自API的JSON,API的响应是声明任务是否已经完成,

JSON 示例:

[ { Name: 'Pre Operation', Checked: false },
{ Name: 'Operation', Checked: false },
{ Name: 'Post Operation', Checked: false } ]

如何将 JSON 更新为:

[ { Name: 'Pre Operation', Checked: true},
{ Name: 'Operation', Checked: false },
{ Name: 'Post Operation', Checked: false } ]

我尝试过使用此代码:

var output = jsonResult.map((item)=>{
if(item.Checked == true){
item.Checked === false
}
return item
})

但是 JSON 没有改变,恐怕 item.Checked === false将影响所有item.Checkedtrue

如果我收到这样的 API 响应:

[ { Name: 'Pre Operation', Checked: true},
{ Name: 'Operation', Checked: false },
{ Name: 'Post Operation', Checked: false } ]

我需要将 JSON 更新为如下所示:

    [ { Name: 'Pre Operation', Checked: true},
{ Name: 'Operation', Checked: true},
{ Name: 'Post Operation', Checked: false } ]

有人可以帮助我如何实现我的目标吗?

最佳答案

使用Array.find

var arr = [ { Name: 'Pre Operation', Checked: false }, { Name: 'Operation', Checked: false }, { Name: 'Post Operation', Checked: false } ];

function updateStatus(){
var result = arr.find(({Checked}) => !Checked);
if(result) result.Checked = true;
}

updateStatus(); console.log(arr); // first is updated
updateStatus(); console.log(arr); // second is updated
updateStatus(); console.log(arr); // third is updated
updateStatus(); console.log(arr); // no update

关于javascript - 如何更改数组中对象的第一个 bool 值 react native ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50600643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com