어레이 (1) = 오브젝트]오브젝트가 존재하는지 2 배열과 비교
어레이 2 = 개체, 개체]
는 이제 어레이 (1) 객체 생각한이다 :
{
'name': 'apple',
'id': ''
}
및 배열 2 :
오브젝트 1 :
{
'name': 'bananna',
'id': 2
}
객체 2 :
{
'name': 'apple',
'id': 1
}
내가 배열 1의 객체가 배열이있는 경우보고 싶어하고 있는지, 동일한 ID로 배열 1의 ID를 설정합니다. true 또는 객체 자체를 반환하고 배열 1에서 ID를 1로 변경해야합니다.
내 시도가 빠르다고 생각하지 마십시오. btw 두 배열은 모든 크기가 될 수 있습니다.
var itemFrom1;
for (var a = 0; a < array1.length; a++) {
itemFrom1 = array1[a];
for(var b = 0; b < array2.length; b++) {
if (itemFrom1.name === array2[b].name) {
itemFrom1.id = array2[b].id;
}
}
}
아마도 언더 코어 .js 또는 더 쉬운 방법을 사용할 수 있습니다.
var matched=_.findWhere(array2,{name:array1.name})
참고 : 모든 브라우저에서 작동하려면이 기능이 필요합니다.
거기에 길잃은 달러 기호 무엇입니까? –
등호를 검사하고 있습니다. 즉, array1의 첫 번째 요소가 array2의 첫 번째 요소와 이름이 같은지 확인하고 있습니다. 그런 다음 두 번째 요소가 두 번째 요소와 일치하는지 확인하는 등의 작업을 수행합니다. – JimN
@ JimNastos 예, 그렇습니다. 접근 방법이 잘못되어 어떻게 해결할 수 있습니까? 인덱스가 다를 수 있습니다. – Angular