我有一个包含以下内容的数组,
var people = [{
_id: 0,
name: 'Joe'
}, {
_id: 1,
name: 'Jim'
}, {
_id: 2,
name: 'Mary'
}];
因此,使用 lodash,我想从 people
创建一个数组,其中 name 包含 J
有什么想法吗?
例如:
var newPeople = _.filter(people, function(person) {
return _.contains('J', person.name);
});
或者更好:
var newPeople = _(people).map(_.unary(_.partialRight(_.contains, 'J', 'name'))).value();
上述任何功能版本都很棒。提前致谢。
最佳答案
这有效:
var newPeople = _.filter(people, function(person) {
return person.name.indexOf('J') >= 0;
});
对于您的其他方式:
var contains = function (obj, str, elem) {
if (obj[elem].indexOf(str) >= 0) {
return obj;
}
return;
}
newPeople = _(people).map(_.unary(_.partialRight(contains, 'J', 'name'))).compact().sortBy('name').value();
关于javascript - Lodash 使用一个字符的值从数组创建一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35336685/