我有一个对象列表,我需要循环遍历列表并将值从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;
}
}
当我返回列表时虽然它正在给我列表,因为它是第一次被捕获的。我使用了错误的循环还是其他的东西?
答案 0 :(得分:3)
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;
}
}
答案 1 :(得分:1)
您正在使用list[i].available === false
进行比较。您需要将false
分配到list[i].available
。所以,试试这个list[i].available = false
。