2016-07-29 89 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])) 

(您可能给的东西,当然更有意义的名称,这只是在问题与人为的例子保持)

最终,整体结构真的是一样的。给定一个值和一组值,你可以检查集合中的内容,并将其内容与值进行比较以找到(或不找到)匹配。