首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >首先,如何改变数组中对象的布尔值?

首先,如何改变数组中对象的布尔值?
EN

Stack Overflow用户
提问于 2018-05-30 09:06:40
回答 2查看 976关注 0票数 0

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

JSON示例:

代码语言:javascript
运行
复制
[ { Name: 'Pre Operation', Checked: false },
  { Name: 'Operation', Checked: false },
  { Name: 'Post Operation', Checked: false } ]

如何更新JSON如下:

代码语言:javascript
运行
复制
[ { Name: 'Pre Operation', Checked: true},
  { Name: 'Operation', Checked: false },
  { Name: 'Post Operation', Checked: false } ]

我试过使用以下代码:

代码语言:javascript
运行
复制
var output = jsonResult.map((item)=>{
  if(item.Checked == true){
    item.Checked === false
  }
  return item
})

但是JSON没有改变,我担心item.Checked === false会影响所有具有true值的item.Checked

如果我从API得到这样的响应:

代码语言:javascript
运行
复制
[ { Name: 'Pre Operation', Checked: true},
  { Name: 'Operation', Checked: false },
  { Name: 'Post Operation', Checked: false } ]

我需要更新一个JSON,如下所示:

代码语言:javascript
运行
复制
    [ { Name: 'Pre Operation', Checked: true},
  { Name: 'Operation', Checked: true},
  { Name: 'Post Operation', Checked: false } ]

谁能帮我把我的目标归档?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-30 09:08:22

使用Array.find

代码语言:javascript
运行
复制
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

票数 3
EN

Stack Overflow用户

发布于 2018-05-30 09:14:54

不知道我是不是误解了这个问题,但你肯定可以..。

代码语言:javascript
运行
复制
jsonResult[0].Checked = true;

编辑.。如果你想不那么冷酷..。

代码语言:javascript
运行
复制
jsonResult.some((item) => { if (item.Name = 'Pre Operation') { item.Checked = true; return true; })

array.prototype.some是一个很好的方法来存在一个循环,当你已经做了你需要的-一旦‘真’被返回,它将停止循环。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50600643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档