새로운 'findIndex' 메서드를 사용하여 배열에서 항목 찾기 🔎
3967 단어 javascriptshowdevfindindexwebdev
그러나
findIndex
의 완전히 새로운Array.prototype
메서드를 사용하면 고유한 비교 콜백 메서드를 사용하여 개체를 유연하게 검색할 수 있습니다.무엇
findIndex
메서드는 전달된 콜백 메서드가 true
를 반환하면 배열의 첫 번째 요소 인덱스를 반환하고, 그렇지 않으면 -1
를 반환합니다.const isPerfectSquare = (num) => {
return num > 0 && Math.sqrt(num) % 1 === 0;
}
console.log([1, 3, 8, 9, 12].findIndex(isPerfectSquare)); // 1
console.log([1, 6, 7, 10, 14].findIndex(isPerfectSquare)); // -1
알아야 할 두 가지 사실이 있습니다.
통사론
array.findIndex(function(currentValue, index, arr), thisValue);
매개변수
function: 이것은 당신이 찾고 있는 요소와 일치하는 조건을 확인하는 콜백 함수입니다.
currentValue: 현재 요소의 값을 보유합니다.
index: 이것은 현재 인덱스를 보유하는 선택적 매개변수입니다.
arr: 이것은 현재 요소가 속한 배열을 보유하는 선택적 매개변수이기도 합니다.
thisValue: 또 다른 선택적 매개변수로, 값이 전달되면 함수 내에서
this
값으로 사용되며, 그렇지 않으면 undefined
가 전달됩니다. 반환 값
찾은 항목의 인덱스를 반환하거나 콜백 기능이 충족되지 않으면
-1
를 반환합니다.후드 아래에서 어떻게 작동합니까?
findIndex
가 하나 또는 두 개의 인수로 호출되면 다음 단계가 실행됩니다.O
? ToObject(this value)
len
? LengthOfArrayLike(O)
IsCallback(predicate)
가 false
인 경우 TypeError 예외가 발생합니다k
를 0으로 k < len
Pk
! ToString(k)
kValue
? Get(O, Pk)
testResult
! ToBoolean(? Call(predicate, thisArg, « kValue, k, O »))
testResult
가 true
이면 k
를 반환합니다.k
를 k + 1
로 설정-1
Reference
이 문제에 관하여(새로운 'findIndex' 메서드를 사용하여 배열에서 항목 찾기 🔎), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/yashints/find-an-item-in-an-array-with-the-new-findindex-method-13lm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)