>  기사  >  웹 프론트엔드  >  js는 배열에 특정 요소가 포함되어 있는지 어떻게 확인합니까? (방법 요약)

js는 배열에 특정 요소가 포함되어 있는지 어떻게 확인합니까? (방법 요약)

不言
不言원래의
2018-09-18 15:07:182397검색

이 기사의 내용은 js가 배열에 특정 요소가 포함되어 있는지 확인하는 방법에 관한 것입니다. (방법 요약)에는 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

배열에 특정 요소가 포함되어 있는지 확인하는 것은 매우 일반적인 요구 사항입니다. JavaScript에는 많은 구현 방법이 있습니다. 오늘은 이를 요약해 보겠습니다. 반환 유형은 항상 부울입니다. :

배열이 arr이고 대상 요소가 target이라고 가정합니다.

루프 순회:

(arr, target) => {
  for (var i = 0; i < arr.length; i++) {
    if (arr[i] === target) {
      return true;
    }
  }
  return false;
}

호환성: es1

Equal 알고리즘: ===

indexOf:

(arr, target) => {
  return arr.indexOf(target) >= 0;
}

호환성: es5

Equal 알고리즘: = ==

필터:

(arr, target) => {
  return arr.filter(el => el === target).length > 0;
}

호환성: es5

동등 알고리즘: ===

some:

(arr, target) => {
  return arr.some(el => el === target);
}

호환성: es5

동등 알고리즘: ===

find:

(arr, target) => {
  return arr.find(el => el === target) !== undefined;
}

호환성: es2015

동일 알고리즘: = ==

findIndex:

(arr, target) => {
  return arr.findIndex(el => el === target) >= 0;
}

호환성: es2015

동등 알고리즘: ===

포함:

(arr, target) => {
  return arr.includes(target);
}

호환성: es2016

동등 알고리즘: SameValueZero

==팁:==

== =와 SameValueZero의 차이점은 SameValueZero는 두 NaN을 동일한 것으로 간주한다는 것입니다. 자세한 내용은 MDN을 참조하세요. 위의 === 구현을 SameValueZero 구현으로 변경하려면 다음과 같이 작성할 수 있습니다.

el === target || (Object.is(el, NaN) && Object.is(target, NaN))
NaN === Nan => false 요즘 es6과 babel이 인기가 많아 대부분의 경우 include를 직접 사용합니다.

위 내용은 js는 배열에 특정 요소가 포함되어 있는지 어떻게 확인합니까? (방법 요약)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.