我需要映射一个对象
obj={a:'',b:firstname,c:'',d:lastname}
在映射时如果对象的元素确实包含:”,我将返回到 null ,因此结果将是这样的:
obj={a:null,b:firstname,c:null,d:lastname}.
我该怎么做?
答案 0 :(得分:5)
您可以使用Object.keys
获取对象中所有属性名称的数组,然后使用reduce
建立一个新对象,其中所有值为''
的属性都将获得改为null
。
const obj = { a: "", b: "foo", c: "", d: "bar" };
const result = Object.keys(obj).reduce((acc, key) => {
acc[key] = obj[key] === '' ? null : obj[key];
return acc;
}, {});
console.log(result);
答案 1 :(得分:1)
您可以使用for
in
var obj = {a:'',b:'firstname',c:'',d:'lastname'}
for(var key in obj){
if(obj[key] === ""){
obj[key] = null
}
}
console.log(obj)