[英]Lodash forEach function omit
我的.js
文件中有一个对象(节点)
var z = [
{'a': 'uno', 'b': 'dos'},
{'a': 'uno', 'b': 'dos'},
{'a': 'uno', 'b': 'dos'},
{'a': 'uno', 'b': 'dos'}
];
我想从z
对象中省略每个'a'
。
我正在尝试类似的方法,但是没有用。
var y = _.forEach(z, function(n){
//console.log(_.omit(n, 'a'));
return _.omit(n, 'a');
});
console.log(y);
我尝试不返回,尝试了更多的方法,但是没有得到。
我的jsfiddle链接: http : //jsfiddle.net/baumannzone/jzs6n78m/
有什么帮助吗? 干杯!
通过省略每个对象中的a
来创建对象的新数组
console.log(_.map(z, function (obj) {
return _.omit(obj, 'a');
}));
// [ { b: 'dos' }, { b: 'dos' }, { b: 'dos' }, { b: 'dos' } ]
实际上,您将省略并创建一个新对象,但是_.each
将忽略该对象。 现在,我们使用_.map
,它将收集从函数返回的所有值并形成一个新数组。
如果您喜欢单线,创建一个局部函数,只保留要用作_
的对象,像这样
console.log(_.map(z, _.partial(_.omit, _, 'a')));
// [ { b: 'dos' }, { b: 'dos' }, { b: 'dos' }, { b: 'dos' } ]
var y = _.map(z, function(n) {
return _.omit(n, 'a');
});
这将从旧的数组创建一个新数组,将z中的对象映射到省略'a'属性的新对象。
一种替代方法是使用链接,因此:
var y = _(z).map(function(n){return n.omit('a');}).value();
乙
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.