> 웹 프론트엔드 > JS 튜토리얼 > 배열 요소가 주어진 조건을 충족하는지 확인하는 JS 배열 학습

배열 요소가 주어진 조건을 충족하는지 확인하는 JS 배열 학습

青灯夜游
풀어 주다: 2021-08-26 17:24:51
원래의
6258명이 탐색했습니다.

이전 글 "JS 배열 학습: 배열 순회 및 요소 값 두 배"에서 배열을 순회하고 배열의 각 요소를 처리하는 방법을 소개했습니다. 이번에는 계속해서 배열 순회에 대해 이야기하고 모든 배열 요소가 지정된 조건을 충족하는지 확인하는 몇 가지 방법을 소개하겠습니다. 도움이 필요한 친구들은 이에 대해 배울 수 있습니다~

그렇다면 배열의 요소가 지정된 조건을 충족하는지 확인하는 방법은 무엇일까요? 예를 들어, 배열을 탐색하고 배열의 모든 요소가 짝수인지 확인하는 방법은 무엇입니까?

익숙한 for 루프부터 시작하여 2개의 내장 함수를 소개하는 3가지 방법을 아래에 소개하겠습니다. 이를 사용하여 감지하는 방법을 알아보세요.

방법 1: for 루프 사용

구현 아이디어:

  • for 문을 사용하여 배열을 순회합니다.

for(var i=0;i<a.length;i++){
}
로그인 후 복사
  • 배열의 모든 요소가 짝수인지 확인하고 그 반대의 경우도 마찬가지입니다. 하나는 짝수가 아니므로 "모두 짝수는 아니다"라는 결론을 내릴 수 있습니다.

그래서 구현 코드는 다음과 같이 작성할 수 있습니다:

var a = [2,4,5,6,8],b=0;
for(var i=0;i<a.length;i++){
	if (a[i] % 2 != 0) {
		b=0
		break;
	}else{
		b++;
	}
}
if (b) {
	console.log("都是偶数");
} else {
	console.log("不全为偶数");
}
로그인 후 복사

분석 코드:

  • 중간 변수 b를 사용하여 0 값을 할당합니다. 배열 요소가 다음과 같은 경우 짝수인 경우 b는 자동으로 1로 증가합니다. 배열 요소가 짝수가 아닌 경우 b의 값은 다시 0이 되고 "break;"를 사용하여 루프를 종료합니다. b赋值为0,如果数组元素为偶数,b就自增1;当有一个数组元素不是偶数,b的值就又重新变为0,且使用“break;”退出循环。

  • 此时我们判断变量b的值就能知道数组中元素是否都为偶数:如果b>0则都是偶数;如果b=0则不全为偶数。

因为数组中元素5不是偶数,因此输出结果为:

배열 요소가 주어진 조건을 충족하는지 확인하는 JS 배열 학습

方法2:利用some()方法

some()方法可以检测数组中是否存在符合条件的元素。换个角度思考,也可以用来检测数组中的所有元素是否都不符合指定条件,都不符合的话就返回 false,有一个或者多个符合的话就返回 true。(和上文代码是一个思路)

array.some(function callbackfn(Value,index,array),thisValue)
로그인 후 복사

function callbackfn(value,index,array)

  • 이때, 변수 b의 값을 판단하여 배열의 요소가 짝수인지 알 수 있습니다. b>0이면 모두 짝수이고, 이면 모두 짝수입니다. b=0 그렇다면 모두 짝수는 아닙니다.

  • 배열의 요소 5가 짝수가 아니기 때문에 출력 결과는 다음과 같습니다.

  • 배열 요소가 주어진 조건을 충족하는지 확인하는 JS 배열 학습

  • 방법 2: some() 메서드

some() 메서드를 사용하여 조건을 충족하는 요소가 있는지 감지합니다. 배열. 다른 각도에서 생각하면 배열의 모든 요소가 지정된 조건을 충족하지 않는지 여부를 감지하는 데 사용할 수도 있습니다. 지정된 조건을 충족하지 않으면 하나 이상의 요소가 일치하면 false를 반환합니다. 사실을 반환합니다. (위 코드와 같은 개념)

function f(value, index, ar) {
    if (value % 2 != 0) {
        return true;
    }
}
var a = [2,4,6,8,10,12];
var b = a.some(f);
if (b) {
	console.log("不全为偶数");
} else {
	console.log("都是偶数");
}
로그인 후 복사

function callbackfn(value,index,array): 생략할 수 없는 콜백 함수이며 최대 3개의 매개변수를 받을 수 있습니다:

배열 요소가 주어진 조건을 충족하는지 확인하는 JS 배열 학습

value: current 배열 요소의 값은 생략할 수 없습니다.

배열 요소가 주어진 조건을 충족하는지 확인하는 JS 배열 학습

index: 현재 배열 요소의 숫자 인덱스입니다.

array: 현재 요소가 속한 배열 객체입니다.

구현 코드를 살펴보겠습니다.

array.every(function callbackfn(Value,index,array),thisValue)
로그인 후 복사

배열의 요소가 모두 짝수이므로 출력 결과는 다음과 같습니다.

배열 요소 12를 11로 변경합니다. , 출력 결과는 다음과 같습니다.

🎜방법 3: Every() 메서드 사용 🎜🎜🎜every() 메서드는 모든 배열 요소가 지정된 조건을 충족하는지 여부를 감지할 수 있습니다. 매개변수 값은 위의 some() 메소드를 참조하세요🎜
function f(value, index, ar) {
    if (value % 2 == 0) {
        return true;
    }else {
        return false;
    }
}
var a = [2,4,6,8,10,11];
var b = a.every(f);
if (b) {
	console.log("都是偶数");
} else {
	console.log("不全为偶数");
}
로그인 후 복사
🎜구현 코드를 살펴보겠습니다:🎜
不全为偶数
로그인 후 복사
🎜출력 결과는 다음과 같습니다.🎜rrreee🎜🎜every()와 차이점은 다음과 같습니다. some() 메서드:🎜🎜🎜 Every()는 배열의 모든 요소가 조건을 충족하는 경우에만 true를 반환합니다. some()은 배열의 한 요소가 조건을 충족하는 한 true를 반환합니다. 🎜🎜그렇습니다. 필요하다면 다음을 시청하세요. 🎜javascript 비디오 튜토리얼🎜🎜

위 내용은 배열 요소가 주어진 조건을 충족하는지 확인하는 JS 배열 학습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿