단지 첫 번째 결과를 밀어 - 그리고 중복이있는 경우 - 내가 예를 들어, 배열에 저장하려면 :비교 2 개 배열 값 난 내가 뭔가 값의 비교해야 배열이
obj1 = [{"manager_id":1,"name":"john"},{"manager_id":1,"name":"kile"},
{"manager_id":2,"name":"kenny"},
{"manager_id":4,"name":"stan"}]
obj2 = [{"employees_id":1,"name":"dan"},
{"employees_id":1,"name":"ben"},{"employees_id":1,"name":"sarah"},
{"employees_id":2,"name":"kelly"}]
manger_id "만약 "==="employees_id은 - 결과는 다음과 같습니다
// {1:[{"manager_id":1,"name":"john"},{"manager_id":1,"name":"kile"},
{"employees_id":1,"name":"dan"}, {"employees_id":1,"name":"ben"},
{"employees_id":1,"name":"sarah"}]};
나는 시도했다 :
var obj1 = [{
"manager_id": 1,
"name": "john"
}, {
"manager_id": 1,
"name": "kile"
}, {
"manager_id": 2,
"name": "kenny"
}, {
"manager_id": 4,
"name": "stan"
}];
var obj2 = [{
"employees_id": 1,
"name": "dan"
}, {
"employees_id": 1,
"name": "ben"
}, {
"employees_id": 1,
"name": "sarah"
}, {
"employees_id": 2,
"name": "kelly"
}];
var res = obj1.concat(obj2).reduce(function(r, o) {
r[o.manager_id] = r[o.employees_id] || [];
r[o.manager_id].push(o);
return r;
}, {});
console.log(res);
.as-console-wrapper {
max-height: 100% !important;
top: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>
는 "MANAGER_ID"의 결과가 추가되지 않습니다 수 있듯이 - 하나 -이 있어야 더
경우 MANAGER_ID === employees_id //해야 첫 번째 키
출력{1:[{"manager_id":1,"name":"john"},{"manager_id":1,"name":"kile"},
{"employees_id":1,"name":"dan"}, {"employees_id":1,"name":"ben"},
{"employees_id":1,"name":"sarah"}]};
가 당신이 볼 수 있듯이 몇 가지 일반적인 ID의
@ abnikr7 감사합니다. – RoyBarOn
@RoyBarOn 문제 없습니다! – abhikr7
이것을 설명해 주시겠습니까? r [id] = r [id] || []; 그것은 무엇을 의미합니까? thanks – RoyBarOn