2016-07-29 123 views
0

如何正確比較一個對象與表中的每個對象?我可以做類似if(object == $.each(table)){ do something }比較jQuery中的對象

比較對象與對象表最簡單的方法是什麼?

+0

什麼是「對象」?什麼是「表」?什麼定義平等?你當然無法與對'$ .each()'的調用進行比較,這不會產生任何有意義的結果。 – David

+0

我需要隨機卡,下次檢查是否有卡在我手中。如果是的話,畫下一張卡片直到獲得新的。有沒有辦法做到這一點在做的條件? –

+0

那麼,你可以遍歷已知的卡片並比較這些值。 – David

回答

0

如果你只是想檢查是否在值的列表中存在一個給定的值,你可以遍歷該列表:

var found = false; 
for (var i = 0; i < table.length; i++) { 
    if (object == table[i]) { 
     found = true; 
     break; // no need to keep looping 
    } 
} 
if (found === true) { 
    // the value was found in the collection 
} 

根據什麼objecttable是,你可能需要比較特殊的屬性而不是整個物體。例如:

if (object.someKeyValue === table[i].someKeyValue) 

「平等」的定義並不總是一件簡單的事,和簡單的標值的範圍之內你的定義是什麼讓任意兩個對象「等於」非常負責任的。如果你有比較多個領域,你可能將它抽象成內部比較它們的功能:

if (areEqual(object, table[i])) 

(您可能給的東西,當然更有意義的名稱,這只是在問題與人爲的例子保持)

最終,整體結構真的是一樣的。給定一個值和一組值,你可以檢查集合中的內容,並將其內容與值進行比較以找到(或不找到)匹配。