我有jquery ajax收到的2个对象 -
我需要在它们之间显示一个交叉,意味着对象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);
}
});
但由于此处的“key”是数字元素,因此该逻辑失败 如何检查“userLogin [0]是否有用户[0]中存在的任何键?
答案 0 :(得分:1)
您应该能够这样做以查看某个对象是否具有某个属性:
if(!user[0].hasOwnProperty(key)){
您当前的版本无效,因为您正在将undefined
(常量)与'undefined'
(字符串)进行比较。见:
var obj = {}
console.log(obj['someProp'] === 'undefined'); // false
console.log(obj['someProp'] === undefined); // true
console.log(typeof obj['someProp'] === 'undefined'); // true