How to set all values of an object to null in JavaScript?

前端 未结 7 532
北荒
北荒 2021-01-01 15:03

I need to set all properties of some object to null. But the object can be very big, so I can\'t just do it one by one.

How to set all properties at onc

7条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-01 15:45

    Here's a useful function called 'Object.keys()', it returns all of the attribute names of an object.

    let setAll = (obj, val) => Object.keys(obj).forEach(k => obj[k] = val);
    let setNull = obj => setAll(obj, null);
    

    Non-arrow-function version:

    function setAll(obj, val) {
        /* Duplicated with @Maksim Kalmykov
            for(index in obj) if(obj.hasOwnProperty(index))
                obj[index] = val;
        */
        Object.keys(obj).forEach(function(index) {
            obj[index] = val
        });
    }
    function setNull(obj) {
        setAll(obj, null);
    }
    

提交回复
热议问题