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] .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開発者を除く)。これは答えが膨らむ方法です。または、最初の3つのアップフォートをrishabh dev?と推測するつもりですか? :-) – blamb

+0

ああはい。私は何かを紛らわしく単純に欠けていることを知っていました。ありがとうございました。一定。私は10分後にこれを受け入れてくれます。 –

1

あなたはlist[i].available === false。あなたを使用して比較ですがやっているが、このlist[i].available = falseを試してみてください、。だからlist[i].availablefalseを割り当てる行う必要があります。

関連する問題