Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改数组中对象的第一个布尔值?_Javascript_React Native - Fatal编程技术网

Javascript 如何更改数组中对象的第一个布尔值?

Javascript 如何更改数组中对象的第一个布尔值?,javascript,react-native,Javascript,React Native,我有一个来自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

我有一个来自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
会影响所有具有
true
值的
item.Checked

如果API有这样的回复:

[ { Name: 'Pre Operation', Checked: true},
  { Name: 'Operation', Checked: false },
  { Name: 'Post Operation', Checked: false } ]
    [ { Name: 'Pre Operation', Checked: true},
  { Name: 'Operation', Checked: true},
  { Name: 'Post Operation', Checked: false } ]
我需要将JSON更新为如下所示:

[ { Name: 'Pre Operation', Checked: true},
  { Name: 'Operation', Checked: false },
  { Name: 'Post Operation', Checked: false } ]
    [ { Name: 'Pre Operation', Checked: true},
  { Name: 'Operation', Checked: true},
  { Name: 'Post Operation', Checked: false } ]
任何人都可以帮我制定目标吗?

使用

var arr=[{Name:'Pre-Operation',Checked:false},{Name:'Operation',Checked:false},{Name:'Post-Operation',Checked:false}];
函数updateStatus(){
var result=arr.find(({Checked})=>!Checked);
if(result)result.Checked=true;
}
更新状态();console.log(arr);//首先是更新
更新状态();console.log(arr);//二是更新
更新状态();console.log(arr);//三是更新
更新状态();console.log(arr);//无更新
使用

var arr=[{Name:'Pre-Operation',Checked:false},{Name:'Operation',Checked:false},{Name:'Post-Operation',Checked:false}];
函数updateStatus(){
var result=arr.find(({Checked})=>!Checked);
if(result)result.Checked=true;
}
更新状态();console.log(arr);//首先是更新
更新状态();console.log(arr);//二是更新
更新状态();console.log(arr);//三是更新

更新状态();console.log(arr);//没有更新
不确定我是否误解了这个问题,但你肯定可以

jsonResult[0].Checked = true;
编辑。。如果你想变得无情

jsonResult.some((item) => { if (item.Name = 'Pre Operation') { item.Checked = true; return true; })

array.prototype.some是在完成所需操作后存在循环的一种好方法-一旦返回“true”,它将停止循环。

不确定我是否误解了这个问题,但您肯定可以

jsonResult[0].Checked = true;
编辑。。如果你想变得无情

jsonResult.some((item) => { if (item.Name = 'Pre Operation') { item.Checked = true; return true; })

array.prototype.some是一种在完成所需操作后存在循环的好方法-一旦返回“true”,它将停止循环。

这个对象数组(不是JSON)是您的
this.state
的一部分吗?@T.J.Crowder yep,实际上我从API解析了
JSON,我在
console.log
时得到了这些数组,但它是
this.state
的一部分吗?请阅读这个对象数组(它不是JSON)是
this.state
的一部分吗?@T.J.Crowder是的,实际上我已经从API解析了
JSON,我在
console.log
时得到了这些数组,但它是你的
这个.state
的一部分吗?请阅读