简体   繁体   English

从一个 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
}];

I want to extact all age values from first array and then filter extracted values of age from second array.我想从第一个数组中提取所有年龄值,然后从第二个数组中过滤提取的年龄值。

You can use pluck to get the array of all the age from myArray .您可以使用pluckmyArray获取所有age的数组。 And then you can use filter , to filter the another array based on the age.然后您可以使用filter ,根据年龄过滤另一个数组。

Demo演示

 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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM