从 JSON 对象中删除空属性
Removing null properties from JSON Object
我有一个如下所示的 JSON 对象,我想从该对象中删除所有键值对对象。我的应用程序使用 AngularJS。
例如下面是我的对象
var items = [
{name:"Nick"},
{name:"Lee"},
{name:"Jenny"},
{name:null},
{name:null},
{name:null},
{name:"Graham"},
{name:"Erica"}]
我想要一个名称已删除空值的新对象。
Angular 或 Underscore js
中是否有现成的函数
可以直接在javascript
items.filter( i => i.name );
// or in ES5
items.filter(function(i) {return i.name});
这看起来有点奇怪,因为您依赖 javascript 的真实性将 null 呈现为 false,而将其他任何内容呈现为 'true'
您可以通过以下代码从 json 对象中删除 null 和空字符串值。
我有 json 对象调用 sjonObj
并希望删除所有 null 和空字符串。
sjonObj = (function filter(obj) {
var filtered = _.pick(obj, function (v) { return v !== '' && v !== null; });
return _.cloneDeep(filtered, function (v) { return v !== filtered && _.isPlainObject(v) ? filter(v) : undefined; });
})(sjonObj);
我不太确定我理解你的问题。
如果你真的想从对象中移除(删除)属性,你可以遍历它的键并使用 delete
.
var obj = {
a: 1,
b: 2,
c: 3
};
Object.keys(obj).forEach(key => {
delete obj[key];
});
console.log(obj); // prints empty object { }
我有一个如下所示的 JSON 对象,我想从该对象中删除所有键值对对象。我的应用程序使用 AngularJS。 例如下面是我的对象
var items = [
{name:"Nick"},
{name:"Lee"},
{name:"Jenny"},
{name:null},
{name:null},
{name:null},
{name:"Graham"},
{name:"Erica"}]
我想要一个名称已删除空值的新对象。 Angular 或 Underscore js
中是否有现成的函数可以直接在javascript
items.filter( i => i.name );
// or in ES5
items.filter(function(i) {return i.name});
这看起来有点奇怪,因为您依赖 javascript 的真实性将 null 呈现为 false,而将其他任何内容呈现为 'true'
您可以通过以下代码从 json 对象中删除 null 和空字符串值。
我有 json 对象调用 sjonObj
并希望删除所有 null 和空字符串。
sjonObj = (function filter(obj) {
var filtered = _.pick(obj, function (v) { return v !== '' && v !== null; });
return _.cloneDeep(filtered, function (v) { return v !== filtered && _.isPlainObject(v) ? filter(v) : undefined; });
})(sjonObj);
我不太确定我理解你的问题。
如果你真的想从对象中移除(删除)属性,你可以遍历它的键并使用 delete
.
var obj = {
a: 1,
b: 2,
c: 3
};
Object.keys(obj).forEach(key => {
delete obj[key];
});
console.log(obj); // prints empty object { }