我想在两个对象之间进行比较,并且应该返回第一个对象中的匹配值。例如:
对象1
[{
"sex": "Male",
"name": "Thomas",
"country": "China"
}, {
"sex": "Male",
"name": "George",
"country": "Nigeria"
}, {
"sex": "Male",
"name": "Mark",
"country": "Serbia"
}, {
"sex": "Male",
"name": "Ronald",
"country": "China"
}, {
"sex": "Female",
"name": "Jennifer",
"country": "China"
}]
对象2
[{
"sex": "Male",
"country": "China"
}]
结果对象应该是,
[{
"sex": "Male",
"name": "Thomas",
"country": "China"
}, {
"sex": "Male",
"name": "Ronald",
"country": "China"
}]
有没有可能做到这一点。如果是的话,你能告诉我该怎么做吗?
答案 0 :(得分:0)
创建数组以保存结果
遍历两个对象
如果一个元素angular.equals另一个元素,则将其添加到reuslt数组
返回结果数组。
答案 1 :(得分:0)
您可以使用lodash _.filter https://lodash.com/docs#filter
var results = _.filter([{
"sex": "Male",
"name": "Thomas",
"country": "China"
}, {
"sex": "Male",
"name": "George",
"country": "Nigeria"
}, {
"sex": "Male",
"name": "Mark",
"country": "Serbia"
}, {
"sex": "Male",
"name": "Ronald",
"country": "China"
}, {
"sex": "Female",
"name": "Jennifer",
"country": "China"
}], {
"sex": "Male",
"country": "China"
})
答案 2 :(得分:0)
试试这个
public void printReverseList(Node head) {
if(head == null) return;
Node prev = null;
Node revers = head;
Node nex = null;
while (revers != null){
nex = revers.next;
revers.next = prev;
prev = revers;
revers = nex;
}
System.out.println(prev);
}
答案 3 :(得分:0)
使用unserscore.js
检查以下干净利落的解决方案
var a = [{
"sex": "Male",
"name": "Thomas",
"country": "China"
}, {
"sex": "Male",
"name": "George",
"country": "Nigeria"
}, {
"sex": "Male",
"name": "Mark",
"country": "Serbia"
}, {
"sex": "Male",
"name": "Ronald",
"country": "China"
}, {
"sex": "Female",
"name": "Jennifer",
"country": "China"
}];
var b = [{
"sex": "Male",
"country": "China"
}];
var result = [];
// IN CASE B IS ARRAY OF OBJECT
_.each(b, function(item, index) {
Array.prototype.push.apply(result, _.where(a, item));
});
// result contains all the matched objects
console.log(result);
// IN CASE IF B IS SINGLE OBJECT
result = [];
Array.prototype.push.apply(result, _.where(a, b[0]));
// result contains all the matched objects
console.log(result);

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
&#13;