我有一个对象列表,我需要在这个列表中循环,并将一个值从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;
}
}当我返回列表时,它给了我第一次捕获的列表。我是使用了错误的循环还是其他什么东西?
发布于 2016-05-31 18:51:24
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;
}
}发布于 2016-05-31 19:38:45
您正在使用list[i].available === false.You进行比较,需要将false分配给list[i].available.So,试试这个list[i].available = false。
https://stackoverflow.com/questions/37553460
复制相似问题