Javascript - elegant way to check object has required properties

后端 未结 3 552
醉话见心
醉话见心 2021-01-03 01:26

I\'m looking for an good / elegant way to validate that a javascript object has the required properties, so far this is what I have:

var fields = [\'name\',\         


        
3条回答
  •  误落风尘
    2021-01-03 01:47

    I would do for a real check for empty strings, because 0 is falsy, but a value and not empty.

    function validateFields(object, keys) {
        keys.forEach(function (k) {
            if (k in object) {
                console.log(k + ": " + object[k]);
                if (object[k] === '') {
                    console.log(k + " exists but is empty");
                }
                return;
            }
            console.log(k + " doesn't exist in object");
        });
    }
    
    var fields = ['name', 'age', 'address', 'zeroString', 'zeroNumber'],
        info = { name: "John Doe", age: "", phone: "123-456-7890", zeroString: '0', zeroNumber: 0 };
    
    validateFields(info, fields);

提交回复
热议问题