我想檢查對象的每個屬性值,如果所有值等於0然後警報。下面的代碼,如果只有一個屬性包含0檢查對象的每個屬性值使用jquery
var arr={a:"0", b:"1", c:"2"};
$.each(arr,function(i,val){
if(val=="0")
alert(0)
})
我想檢查對象的每個屬性值,如果所有值等於0然後警報。下面的代碼,如果只有一個屬性包含0檢查對象的每個屬性值使用jquery
var arr={a:"0", b:"1", c:"2"};
$.each(arr,function(i,val){
if(val=="0")
alert(0)
})
你實際上使用對象,不是陣列,所以循環與for..in
function allEqualTo(obj, test) {
var key;
for (key in obj)
if (obj[key] !== test)
return false;
return true;
}
現在
var o = {a:"0", b:"1", c:"2"};
if (allEqualTo(o, "0"))
alert(0);
else
alert('foobar');
// foobar alerted
正在執行警戒
如果你想要它的jquery使用這個代碼:
var bOk = true;
$.each(arr,function(i,val){
if (val != 0) return bOk = false;
})
if (bOk) alert(0);
你在一行上有兩個分隔符,你可以稍微縮短這個函數,所以如果你返回bOk = false;' –
@Paul S.謝謝你的有用說明。我更新了代碼 – hindmost
除了你提到的方法是'Array.prototype.filter()','arr'實際上是一個'Object'。 – Phylogenesis
一個乾淨且可重用的方法,只使用原生JS。 +1 – Cerbrus