比较jQuery中的对象

时间:2016-07-29 17:28:33

标签: jquery

如何正确地将一个对象与表中的每个对象进行比较?我可以做if(object == $.each(table)){ do something }

之类的事情

将对象与对象表进行比较的最简单方法是什么?

1 个答案:

答案 0 :(得分: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]))

(当然,你可能会给出更有意义的名字,这只是与问题中人为的例子保持一致。)

最终,整体结构确实会是一样的。给定值和值集合,您将检查集合中的内容并将其内容与要查找(或未找到)匹配的值进行比较。