我有2个对象数组,只想检查b是否存在于a中,如果是,则添加一个新属性。但是b的长度是动态的。我将得到b的undefined错误。
var a = [{name:'john'},{name:'james'},{name:'jordan'},{name:'joe'}];
var b = [{name:'john'},{name:'joe'}];
var exist = 0;
var c = _.map(a,function(result,i){
exist = b[i].name.indexOf(a.name) > -1 ? exist = 1 : exist = 0;
return _.extend({},c,{'exist':exist});
});
有什么线索吗?
我将遍历b个对象,并针对每个对象检查它们是否存在于A中,如以下示例所示。
var a = [ { _id: '5815adb4badf3f311a2cd25b', username: 'david&jane' },
{ _id: '5815e40e136c8e33b65b3478', username: 'david+jane' } ];
var b = [ { username: 'david&jane' },
{ username: 'david<3jane' },
{ username: 'david+jane' },
{ username: 'davidjane' }
]
var c = [];
b.forEach(function(user) {
var exists = false;
for (let i=0; i<a.length && !exists; i++){
exists = a[i].username === user.username ;
}
c.push(Object.assign({},user,{exists}));
});
console.log(c);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句