Javascript 更改对象列表中的值

Javascript 更改对象列表中的值,javascript,for-loop,Javascript,For Loop,我有一个对象列表,我需要在列表中循环并将值从true更改为false。一个简单的for循环不应该起作用吗?我错过什么了吗 var list = [ { color: 'blue', 'taste': 'sour', 'available': true }, { color: 'yellow', 'taste': 'bitter', 'available': false }, { color: 'red', 'taste': 'sweet', 'available': false },

我有一个对象列表,我需要在列表中循环并将值从true更改为false。一个简单的for循环不应该起作用吗?我错过什么了吗

var list = [
  { color: 'blue', 'taste': 'sour', 'available': true },
  { color: 'yellow', 'taste': 'bitter', 'available': false },
  { color: 'red', 'taste': 'sweet', 'available': false },
  { color: 'green', 'taste': 'umami', 'available': false }
]

for(var i = 0; i < list.length; i++){
  if(list[i].available === true){
    list[i].available === false;
  }
}
var列表=[
{颜色:'blue','taste':'sour','available':true},
{颜色:'黄色','味道':'苦','可用':假},
{颜色:'red','taste':'sweet','available':false},
{颜色:'green','taste':'umami','available':false}
]
对于(变量i=0;i
当我返回列表时,虽然它给了我第一次捕获的列表。我使用的循环是错误的还是其他原因?

var list=[
var list = [
  { color: 'blue', 'taste': 'sour', 'available': true },
  { color: 'yellow', 'taste': 'bitter', 'available': false },
  { color: 'red', 'taste': 'sweet', 'available': false },
  { color: 'green', 'taste': 'umami', 'available': false }
]

for(var i = 0; i < list.length; i++){
  if(list[i].available === true){
   // you were not modifying here, just comparing
    list[i].available = false;
  }
}
{颜色:'blue','taste':'sour','available':true}, {颜色:'黄色','味道':'苦','可用':假}, {颜色:'red','taste':'sweet','available':false}, {颜色:'green','taste':'umami','available':false} ] 对于(变量i=0;i
var列表=[
{颜色:'blue','taste':'sour','available':true},
{颜色:'黄色','味道':'苦','可用':假},
{颜色:'red','taste':'sweet','available':false},
{颜色:'green','taste':'umami','available':false}
]
对于(变量i=0;i
您正在使用
list[i]进行比较。available===false
。您需要将
false
分配到
list[i]。available
。因此,请尝试此
list[i]。available=false

您正在使用
list[i]进行比较。available==false
。您需要将
false
分配到
列表中[i] .available
。那么,试试这个
list[i]。available=false

纯粹是一种风格,但是为什么在引用所有其他键时,颜色是一个不带引号的键呢?这样的不一致会隐藏错误…
list[i]。available==false
正在执行比较。您需要执行赋值:
list[i].available=false
哦,这只是一个输入错误。我只是想快速模拟数组中的一组对象。这纯粹是一种样式,但为什么在所有其他键都被引用时颜色是一个不带引号的键呢?这样的不一致会隐藏错误…
list[I].available===false
正在执行比较。您需要执行赋值:
list[i].available=false
哦,那只是一个输入错误。我只是想快速模拟数组中的一堆对象。这里主要是吹毛求疵,但没有必要与
==true
进行比较。这就解决了这个问题,@Alex Marple我想这是你的问题,如果你的回答好,请标记接受的答案。这里没有必要对任何人说东北(rishab开发除外)由于用户犯了一个错误,这就是答案变得臃肿的原因。或者我猜前3票是rishabh dev?:-)啊,是的。我知道我遗漏了一些令人不安的简单内容。谢谢。修复。我会在10分钟内接受它。天哪,现在有人否决了你。哥们,这堆人到底怎么了?哈哈,谢谢你放弃了这个问题。这里大部分都是吹毛求疵,但是没有必要与
==true
进行比较。这就解决了这个问题,@Alex Marple我想这是你的问题,如果你的回答好,请标记接受答案。这里没有必要对任何人进行比较(除了rishab dev)由于用户犯了一个错误,这就是答案变得臃肿的原因。或者我猜前3票是rishabh dev?:-)啊,是的。我知道我遗漏了一些令人不安的简单内容。谢谢。修复。我会在10分钟内接受它。天哪,现在有人否决了你。哥们,这堆人到底怎么了?哈哈,谢谢你放弃这一点。。