从一个 Array 对象中提取键值,并使用带下划线的提取值从其他对象中过滤 javascript
Extract key values from one Array object and filter from other objects with the extracted values with underscore javascript
var myArray = [{
"name": "John Doe",
"age": 29
}, {
"name": "Anna Smith",
"age": 24
}];
var myAnotherArray = [{
"name": "John Doe",
"age": 29
}, {
"name": "Anna Smith",
"age": 24
}, {
"name": "Peter Jones",
"age": 39
}, {
"name": "Gabby",
"age": 24
}, {
"name": "Julian",
"age": 29
}, {
"name": "George",
"age": 39
}];
我想从第一个数组中提取所有年龄值,然后从第二个数组中过滤提取的年龄值。
您可以使用 pluck
从 myArray
中获取所有 age
的数组。
然后你可以使用filter
,根据年龄过滤另一个数组。
var myArray = [{
"name": "John Doe",
"age": 29
}, {
"name": "Anna Smith",
"age": 24
}];
var myAnotherArray = [{
"name": "John Doe",
"age": 29
}, {
"name": "Anna Smith",
"age": 24
}, {
"name": "Peter Jones",
"age": 39
}, {
"name": "Gabby",
"age": 24
}, {
"name": "Julian",
"age": 29
}, {
"name": "George",
"age": 39
}];
var ages = _.pluck(myArray, 'age');
var filtered = _.filter(myAnotherArray, function(i, l) {
return _.contains(ages, i.age);
});
console.log(filtered);
document.write(JSON.stringify(filtered));
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
var myArray = [{
"name": "John Doe",
"age": 29
}, {
"name": "Anna Smith",
"age": 24
}];
var myAnotherArray = [{
"name": "John Doe",
"age": 29
}, {
"name": "Anna Smith",
"age": 24
}, {
"name": "Peter Jones",
"age": 39
}, {
"name": "Gabby",
"age": 24
}, {
"name": "Julian",
"age": 29
}, {
"name": "George",
"age": 39
}];
我想从第一个数组中提取所有年龄值,然后从第二个数组中过滤提取的年龄值。
您可以使用 pluck
从 myArray
中获取所有 age
的数组。
然后你可以使用filter
,根据年龄过滤另一个数组。
var myArray = [{
"name": "John Doe",
"age": 29
}, {
"name": "Anna Smith",
"age": 24
}];
var myAnotherArray = [{
"name": "John Doe",
"age": 29
}, {
"name": "Anna Smith",
"age": 24
}, {
"name": "Peter Jones",
"age": 39
}, {
"name": "Gabby",
"age": 24
}, {
"name": "Julian",
"age": 29
}, {
"name": "George",
"age": 39
}];
var ages = _.pluck(myArray, 'age');
var filtered = _.filter(myAnotherArray, function(i, l) {
return _.contains(ages, i.age);
});
console.log(filtered);
document.write(JSON.stringify(filtered));
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>