我有一个数组,其中使用其他元素的 ID 值(不是整数)存储项目。单击按钮后,我希望能够一举将此数组中每个项目的布尔值更改为“假”。我假设这不能通过循环来完成,因为我只熟悉使用整数递增的循环。有没有办法一次改变所有这些价值观,还是我只需要重新考虑一下?
问问题
43 次
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 回答