javascript - javascript如何获取值不等于null的对象的键和值?

我有一个类似这样的对象:


let data = {


 toDate: this.state.toDate,


 fromDate: this.state.fromDate,


 filteredEntityText: null,


 options:"negative",


 searchTerm: null


 };



从 上面 对象生成一个只有 key-value 对的新对象,该对象的值不是空的。

预期的结果应该如下所示:


let newData = {


 toDate: this.state.toDate,


 fromDate: this.state.fromDate,


 options:"negative"


};



这里我使用了 data 对象的静态示例,空值后面可能会有所不同。 基本上我想要一个带有 key-value 对的新对象,其值不是 null 。 谁能帮我解决这个问题?

时间:

你可以使用reduce来达到预期的结果:


let data = {


 toDate:"abc",


 fromDate:"cde",


 filteredEntityText: null,


 options:"negative",


 searchTerm: null


};



var newObj = Object.keys(data).reduce((acc, el) => {


//removing all the key-value pairs where value=null


 if(data[el]!== null)


 acc[el] = data[el];


 return acc;


}, {})



console.log('newObj', newObj);
...