2014-02-12 54 views
0

我想檢查對象的每個屬性值,如果所有值等於0然後警報。下面的代碼,如果只有一個屬性包含0檢查對象的每個屬性值使用jquery

var arr={a:"0", b:"1", c:"2"}; 
$.each(arr,function(i,val){ 
    if(val=="0") 
    alert(0) 
    }) 

回答

5

你實際上使用對象,不是陣列,所以循環與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 
正在執行警戒
+0

一個乾淨且可重用的方法,只使用原生JS。 +1 – Cerbrus

0

如果你想要它的jquery使用這個代碼:

var bOk = true; 
$.each(arr,function(i,val){ 
    if (val != 0) return bOk = false; 
}) 
if (bOk) alert(0); 
+1

你在一行上有兩個分隔符,你可以稍微縮短這個函數,所以如果你返回bOk = false;' –

+0

@Paul S.謝謝你的有用說明。我更新了代碼 – hindmost

+1

除了你提到的方法是'Array.prototype.filter()','arr'實際上是一個'Object'。 – Phylogenesis

相關問題