他の要素の ID 値 (整数ではない) を使用して項目が格納される配列があります。ボタンをクリックすると、この配列の各項目のブール値を一度に「false」に変更できるようにしたいと考えています。私は整数のインクリメントを使用するループにしか慣れていないため、これはループでは実行できないと想定しています。これらの値をすべて一度に変更する方法はありますか、それとも再考する必要がありますか?
1 に答える
0
配列がどのように見えるかを正確に投稿しなかったため、構造を想定しています。このコードは、すべてのブール値を false にリセットします。
var array = {
"id1":"foo",
"id2":"bar",
"id3":true,
"id4":1,
"id5":false,
};
$.each(array,function(index,obj){
if(typeof obj === 'boolean' ) array[index] = false;
});
console.log(array);
ここにjsfiddleがあります(コンソールログを確認してください)
これを理解するための秘訣は、JavaScript の配列も数値キーを持つオブジェクトであるということです。ただし、キーは数値である必要はなく、数値以外のキーを使用して配列にアクセスすることもできます。たとえば、上記の配列を使用するとarray["id1"]
、javascript で完全に有効になります。と同等ですarray.id1
アップデート
'array' 変数は実際にはここでは配列ではなく、オブジェクトです。詳細については、以下の @BalusC のコメントをお読みください。
于 2013-08-15T14:35:23.883 に答える