给定:
我在 Javascript 中有以下两个变量:
var x = {
dummy1: null
dummy2: null
};
// Return true
var y = {
dummy1: 99,
dummy2: 0
}
// Return false
var y = "";
// Return false
var y = {
dummy1: null
};
// Return false
var y = {
dummy1: null,
dummy2: null,
dummy3: 'z'
}
// Return false
var y = null;
// Return false
var y = ""
谁能建议我如何检查对象 x
是否具有与 y
相同的字段名称?请注意,我不是检查参数的值。
最佳答案
这些函数可能有更好的名称,但应该这样做:
function hasAllProperties(subItem, superItem) {
// Prevent error from using Object.keys() on non-object
var subObj = Object(subItem),
superObj = Object(superItem);
if (!(subItem && superItem)) { return false; }
return Object.keys(subObj).every(function (key) {
return key in superObj;
});
}
function allPropertiesShared(x, y) {
return hasAllProperties(x, y) &&
hasAllProperties(y, x);
}
关于javascript - 如何检查两个 javascript 对象是否具有相同的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24032654/