JS는 대해 forEach이의 -array (),지도 (), 모든 (), 일부 (), 필터 () 사용 객체 구축

설명에 대해 forEach (),지도 (), 모든 (), 일부 () 및 필터 () 사용

이 글의 시작에서 당신에게 질문을합니다 :

자바 스크립트에서 어떻게 배열의 각각의 데이터를 처리하기 위해?

하나는이 잘 통해 루프에 대한 간단한 직접 A가 아니라고 말할 수있다.

예, 사실, 이것은 가장 일반적인 방법입니다.

그러나 그 이상, ES5는 또한 제목과 같은 배열을 처리 할 수있는 편리한 방법을 제공합니다.

다음으로, 이러한 특정 방법을 설명하기 위해 몇 가지 간단한 예제를 통해 이동합니다.

어레이를 이송하는 데 사용하게 foreach (), 어떠한 리턴 값 없음

여기서 제 주어진 어레이 (이하, 일반적인 예) :

했다 도착 = 1 -2,3,4-, -5];

그럼 난 일을해야는 그 두 배의 배열의 각 항목.

arr.forEach ( 함수 (항목, 인덱스 어레이) { 
    배열 [인덱스] = 항목 * 2 ; 
}); 
CONSOLE.LOG (도착);   // [2 -4,6,8 -10]

어레이 탐색 항목의 인덱스가 현재의 소자 어레이 순회 인덱스 및이 이송되면 때 foreach는 ()는 익명의 기능을 포함하는 파라미터로 익명 함수를 전달할 수 있고, 볼 수 차례 현재 요소를 나타내는 세 개의 인자를 취 어레이 배열. 이러한 세 가지 매개 변수를 사용하면 우리는 각 배열 요소를 배가됩니다 예를 들어 많은 일을 수행 할 수 있습니다, 당신은 첫 번째 매개 변수 항목을 사용해야합니다. 그러나, 단지 항목이없는 수를 곱한, 우리는 우리가 다음 두 개의 매개 변수의 인덱스와 배열을 사용해야 원래 배열에 할당해야합니다.

상기 논의에서, 어레이 [색인] 항목의 전부 동일하다.

arr.forEach ( 함수 (항목, 인덱스 어레이) { 
    CONSOLE.LOG (배열 [인덱스] === 항목);    // 진정한 
});

두,지도 (), 새로운 배열은 후 공정 수익률을 반복하는 데 사용됩니다

VAR newArr arr.map = ( 함수 (항목, 인덱스 어레이) {
     반환 항목 * 2 ; 
}); 
CONSOLE.LOG (newArr);   // [2 -4,6,8 -10]

그것은 방법 및 대해 forEach () 함수는 새로운 배열을 반환) 그지도 (를 제외하고, 유사한 반환 값이 있음을 알 수있다, 이러한 치료 후 배열은 원래 배열에 영향을 미치지 않습니다.

셋, 각 ()의 요소는 조건을 만족하는지 여부를 결정하는 상기 어레이의 각각은 부울 값을 반환

VAR isEvery arr.every = ( 함수 (항목, 인덱스 어레이) {
     반환 항목> 0 ; 
}); 
CONSOLE.LOG (isEvery);   // 거짓

당신은 명확하지 않다, 예를 배열 편곡의 요소가 긍정적 인 여부를 결정하는 것입니다 볼 수 있습니다, 그래서 마지막 메소드는 false를 반환합니다.

조건을 만족하는 프리젠 스 엘리먼트 배열 여부를 판정 네 일부는 ()은 부울 값을 반환

VAR isSome arr.some = ( 함수 (항목, 인덱스 어레이) {
     반환 항목 <0 ; 
}); 
CONSOLE.LOG (isSome);   // 사실

이 방법 및 모든 ()는 유사하게, 예를 들어 배열의 도착에 부정적인 요소가 있는지 여부를 결정하는 것을 알 수 있으며, 그 존재는, 단부에있어서 true를 반환 분명하다.

다섯, 필터 ()의 조건을 만족하는 배열 요소를 스크리닝하는 새로운 배열 스크리닝 후에 반환

VAR의 마이너스 arr.filter = ( 함수 (항목, 인덱스 어레이) {
     반환 항목 <0 ; 
}); 
CONSOLE.LOG (마이너스);   // [-2, -5]

알 수 있으며, 실시 예는 모두 음의 도착 어레이를 필터링하고,이 방법은 결국 스크리닝 후에 새로운 배열을 반환한다 [-2, -5].

주 : 파라미터로서 익명 함수를 전달 이외의 상기 다섯 가지 방법, 두번째 파라미터도 전송 될 수있다, 예를 들면 함수 익명이 점에 대해 지정된 파라미터 :

// 만 익명 함수 패스 
arr.forEach ( 함수 (아이템, 인덱스 어레이) { 
    CONSOLE.LOG를 ( 이 본 );   // 윈도우 
});

 

// 두 개의 매개 변수 전달 
arr.forEach ( 함수 (아이템, 인덱스 어레이) { 
    CONSOLE.LOG ( 이 본를 )   // [. 1, -2 ,. 3 ,. 4, -5] 
}, ARR);

 

호환성 : 위의 방법은 ES5 방법에 속하는, 그것은는 IE8로 브라우저 아래 호환되지 않기 때문에.

키 요약 :

① 대해 forEach ()가 모든 (새로운 배열을 반환 (),지도 ()와 필터 값을 반환하지 않습니다) 일부는 () 부울 값 반환
② 윈도우의 기본이 점에서 익명 함수를, 그것이 두 번째 매개 변수에 의해 변경 될 수 있습니다 전달
③ 오 탐색 방법은 ES5 방법의 모든 종류의

참고 블로그 : https://www.jianshu.com/p/b728253c90b5

추천

출처www.cnblogs.com/nayek/p/11789750.html