2016-05-31 3 views
0

У меня есть список объектов, и мне нужно прокрутить список и изменить значение от true до false. Разве простая петля не должна делать трюк? Я что-то упускаю?Изменение значения в списке объектов

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; 
    } 
} 

Когда я возвращаю список, хотя он дает мне список, поскольку он был впервые захвачен. Я использую неправильный цикл или это что-то еще?

+1

Чисто стиль, но почему цвет является некотируемым ключом, когда все ваши другие ключи цитируются? Такие несоответствия имеют способ скрывать ошибки ... –

+3

'list [i] .доступный === false' выполняет сравнение. Вам нужно выполнить задание: '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; 
    } 
} 
+0

В основном неперехватывание здесь, но сравнение с '=== true' не требуется. –

+0

что о решает этот вопрос, @Alex Marple я думаю, что это была ваша проблема, пожалуйста, отметьте принятый ответ, если ваш хороший. нет смысла здесь для кого-либо (кроме rishab dev), так как пользователь допустил ошибку, вот как ответы раздуваются. Или им угадать, что первые 3 upvotes - rishabh dev? :-) – blamb

+0

Ahhh да. Я знал, что у меня что-то не так просто. Спасибо. Исправлена. Я приму это через 10 минут, когда это позволит мне. –

1

Вы делаете Comparision с помощью list[i].available === false .Вы должны сделать назначения false в list[i].available .so, попробуйте этот list[i].available = false.

Смежные вопросы