检查js对象的属性是否全为空,3除外

Don*_*n P 4 javascript arrays oop enumeration

我有一个具有50个属性的js对象.我想检查除了"a1","a2"和"a3"之外是否所有47个都是null.

myObject = { 
a1: 'dont-care'
a2: 'dont-care'
a3: 'dont-care'
a4: 'am i null?'
a5: 'am i null?'
...
a50: 'am i null?'
}
Run Code Online (Sandbox Code Playgroud)

小智 5

您可以使用Object.keys()Array.prototype.every().

演示: http : //jsfiddle.net/akstE/1/

var result = Object.keys(myObject)
    .every(function(key) {
        switch (key) {
            // Change these to your actual property names
            case "a1": case "a2": case "a3":
                return true; // assuming you don't need to check them at all
            default:
                return myObject[key] === null; // `== null` to include `undefined`
        }
    });
Run Code Online (Sandbox Code Playgroud)

(在旧浏览器中需要两种方法的填充程序.)