0

我有 2 个 jquery ajax 收到的对象-

我需要显示它们之间的交叉,这意味着对象 1 的所有元素和对象 2 中不存在于对象 1 中的所有元素

$.each(user[0],function(key,value){
    var div = $("<div></div>");
    div.html("key: "+key + " value: "+value);
    div.appendTo(maindiv);
});

$.each(userLogin[0],function(key,value){
    if(user[0][key]=='undefined'){
        var div = $("<div></div>");
        div.html("key: "+key + " value: "+value);
        div.appendTo(maindiv);
    }

});

但是由于这里的“键”是数字元素,所以这个逻辑失败了我如何检查“userLogin [0]是否有任何存在于用户[0]中的键?

4

1 回答 1

1

您应该能够这样做以查看对象是否具有特定属性:

if(!user[0].hasOwnProperty(key)){

您当前的版本不起作用,因为您正在将undefined(常量)与'undefined'(字符串)进行比较。看到这个:

http://jsfiddle.net/Zr7VJ/

var obj = {}

console.log(obj['someProp'] === 'undefined');  // false
console.log(obj['someProp'] === undefined); // true
console.log(typeof obj['someProp'] === 'undefined'); // true
于 2013-09-13T17:48:09.347 回答