2016-05-31 8 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; 
    } 
} 

처음으로 캡처 한 목록을 제공하지만 목록을 반환합니다. 잘못된 루프를 사용하고 있습니까? 아니면 다른 것입니까? 당신은 list[i].available === false 우선은을 사용을 비교 한을하고

+1

순수한 스타일이지만 다른 모든 키를 인용 할 때 색상을 인용 부호가없는 키로 지정하는 이유는 무엇입니까? 불일치에는 오류를 숨기는 방법이 있습니다 ... –

+3

'list [i] .available === 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

아 예. 나는 아주 간단하게 뭔가를 놓친다는 것을 알았다. 고맙습니다. 결정된. 나는 그것을 허용 할 때 이것을 10 분 안에 받아 들일 것이다. –

1

list[i].available 낭포에 false을 할당 할 필요가,이 list[i].available = false을 시도합니다.