【发布时间】:2016-02-04 09:01:05
【问题描述】:
我怎样才能过滤像这样的对象:
{"firstname":"foo","lastname":"bar","driving":"","overnight":""}
到
{"firstname":"foo","lastname":"bar"}
只删除空的键/值对
【问题讨论】:
-
你想根据键搜索还是什么?
标签: javascript object filter
我怎样才能过滤像这样的对象:
{"firstname":"foo","lastname":"bar","driving":"","overnight":""}
到
{"firstname":"foo","lastname":"bar"}
只删除空的键/值对
【问题讨论】:
标签: javascript object filter
使用 Object.keys() 和 Array.prototype.forEach() 的解决方案:
var original = {"firstname":"foo","lastname":"bar","driving":"","overnight":""};
var filtered = {}
Object.keys(original).forEach(function(key) {
if (original[key] !== "") {
filtered[key] = original[key];
}
});
console.log(filtered);
【讨论】:
for (key in obj) {
if (obj.hasOwnProperty(key) && obj[key] === '') {
delete obj[key];
}
}
【讨论】:
你也可以试试这个。此代码删除键 test 和 driving
var obj = {"firstname":"foo","lastname":"bar","driving":"","overnight":"", "test": null};
Object.keys(obj).forEach(function(k) {
if (!obj[k] || obj[k] === "") {
delete obj[k];
}
});
console.log(obj);
【讨论】: