728x90
반응형
질문 : 자바 스크립트 개체 배열에서 ID로 개체 찾기
배열이 있습니다.
myArray = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'}, etc.]
배열의 구조를 변경할 수 없습니다. 45
의 ID를 전달 받고 있으며 배열의 해당 객체에 대한 'bar'
를 얻고 싶습니다.
JavaScript 또는 jQuery를 사용하여 어떻게합니까?
답변
find()
메소드를 사용하십시오.
myArray.find(x => x.id === '45').foo;
MDN에서 :
find()
메서드는 배열의 요소가 제공된 테스트 함수를 충족하는 경우 배열의 첫 번째 값을 반환합니다. 그렇지 않으면 undefined
가 반환됩니다.
대신 색인 을 찾으려면 findIndex()
사용하십시오.
myArray.findIndex(x => x.id === '45');
MDN에서 :
findIndex()
메서드는 제공된 테스트 함수를 충족하는 배열에서 첫 번째 요소의 인덱스를 반환합니다. 그렇지 않으면 -1이 반환됩니다.
일치하는 요소의 배열을 얻으려면 filter()
메서드를 사용하십시오.
myArray.filter(x => x.id === '45');
이것은 객체의 배열을 반환합니다. foo
속성 배열을 얻으려면 map()
메서드를 사용하여이를 수행 할 수 있습니다.
myArray.filter(x => x.id === '45').map(x => x.foo);
find()
또는 filter()
와 같은 메서드와 화살표 함수 는 IE와 같은 이전 브라우저에서 지원되지 않으므로 이러한 브라우저를 지원하려면 Babel ( polyfill 사용 )을 사용하여 코드를 트랜스 파일해야합니다.
출처 : https://stackoverflow.com/questions/7364150/find-object-by-id-in-an-array-of-javascript-objects
728x90
반응형
'프로그래밍 언어 > HTML,CSS,JS' 카테고리의 다른 글
JavaScript 함수에 대한 기본 매개 변수 값 설정 (0) | 2021.11.11 |
---|---|
Node.js를 언제 사용할지 결정하는 방법 (0) | 2021.11.11 |
JavaScript에서 10 진수를 16 진수로 변환하는 방법 (0) | 2021.11.10 |
JavaScript에서 foreach (key => value) (0) | 2021.11.10 |
JavaScript에서 두 날짜의 차이 (0) | 2021.11.10 |