나는 이것을하기위한 효율적인 방법을 찾으려고 약간의 서핑을하고 있지만 아무데도 얻지 못했습니다. 다음과 같은 객체 배열이 있습니다.
array[i].id = some number;
array[i].name = some name;
내가하고 싶은 것은 id가 0,1,2,3 또는 4와 같은 객체의 INDEXES를 찾는 것입니다. 나는 다음과 같이 할 수 있다고 가정합니다.
var indexes = [];
for(i=0; i<array.length; i++) {
(array[i].id === 0) ? { indexes[0] = i }
(array[i].id === 1) ? { indexes[1] = i }
(array[i].id === 2) ? { indexes[2] = i }
(array[i].id === 3) ? { indexes[3] = i }
(array[i].id === 4) ? { indexes[4] = i }
}
이것이 효과가 있지만, 특히 array.length가 클 수 있다면 상당히 비싸고 느리게 보입니다 (추악한 것은 말할 것도 없습니다). 이것을 조금 가려내는 방법에 대한 아이디어가 있습니까? 어떻게 든 array.indexOf를 사용하려고 생각했지만 구문을 강제하는 방법을 보지 못했습니다. 이
array.indexOf(this.id === 0);
예를 들어, 예상대로 undefined를 반환합니다. 미리 감사드립니다!
Array.prototype.findIndex()
ECMAScript 2015 에는 모든 후발 자에게 새로운 배열 방법 이 있습니다.이 답변은 정말 훌륭했습니다.