json对象长度javascript

时间:2018-04-02 19:23:27

标签: javascript json

let myObj = {
name: 'Mark',
age: 32,
working: 'yes'
}

如何验证myObj是否至少有一条记录? Object.keys(myObj).length给出3这是键的长度(很明显)。我想验证它是否有值而不是空的?

3 个答案:

答案 0 :(得分:1)

因此请检查属性值。您可以使用some函数并检查至少有一个属性的值与nullundefined不同。



let myObj = {
   name: 'Mark',
   age: 32,
   working: 'yes'
};

const hasOne = Object.keys(myObj).some(key => myObj[key] !== null && myObj[key] !== undefined);

console.log(hasOne);




答案 1 :(得分:0)

在es6中,您可以结合Object.values和数组.some方法执行此操作:

Object.values(myObj).some(Boolean)

仅当myObj包含至少一个非假的值时才会出现这种情况。虚假值包括:undefinednull0NaN""false

答案 2 :(得分:0)

你可以这样做。

let myObj1 = {
    name: 'Mark',
    age: 32,
    working: 'yes'
};

let myObj2 = {};

let myObj3 = {
    name: null,
    age: null,
    working: null
};


function validateObj(obj) {
    for (var prop in obj) {
        if (obj.hasOwnProperty(prop)) {
            if (obj[prop]) return true;
        }
    }
    return false;
}

console.log(validateObj(myObj1)); // true
console.log(validateObj(myObj2)); // false
console.log(validateObj(myObj3)); // false