Add key value pair to all objects in array

后端 未结 10 1903
醉酒成梦
醉酒成梦 2020-12-04 10:43

I wanted to add a key:value parameter to all the objects in an array.

eg:

var arrOfObj = [{name: \'eve\'},{name:\'john\'},{name:\'jane\'}];
<         


        
10条回答
  •  误落风尘
    2020-12-04 11:33

        var arrOfObj = [{name: 'eve'},{name:'john'},{name:'jane'}];
        var injectObj = {isActive:true, timestamp:new Date()};
    
        // function to inject key values in all object of json array
    
        function injectKeyValueInArray (array, keyValues){
            return new Promise((resolve, reject) => {
                if (!array.length)
                    return resolve(array);
    
                array.forEach((object) => {
                    for (let key in keyValues) {
                        object[key] = keyValues[key]
                    }
                });
                resolve(array);
            })
        };
    
    //call function to inject json key value in all array object
        injectKeyValueInArray(arrOfObj,injectObj).then((newArrOfObj)=>{
            console.log(newArrOfObj);
        });
    

    Output like this:-

    [ { name: 'eve',
        isActive: true,
        timestamp: 2017-12-16T16:03:53.083Z },
      { name: 'john',
        isActive: true,
        timestamp: 2017-12-16T16:03:53.083Z },
      { name: 'jane',
        isActive: true,
        timestamp: 2017-12-16T16:03:53.083Z } ]
    

提交回复
热议问题