JS 에서 find (), findIndex (), filter (), forEach (), some (), every (), map () 방법

3471 단어 JavaScript
js 에서 이 몇 개의 배열 여과 방법의 귀납 은 원문 작가 가 잘 썼 다 고 생각 합 니 다. mark 해 보 세 요.
원문:https://blog.csdn.net/ChauncyWu/article/details/82960898 
 
1. find () 와 findIndex ()
   find () 방법 은 첫 번 째 조건 에 맞 는 배열 구성원 을 찾 는 데 사용 된다.이 매개 변 수 는 리 턴 함수 입 니 다. 모든 배열 의 구성원 들 이 이 리 턴 함 수 를 순서대로 실행 하고 첫 번 째 리 턴 값 이 트 루 인 멤버 를 찾 아 이 멤버 에 게 돌아 갑 니 다.조건 에 맞 는 멤버 가 없 으 면 undefined 로 돌아 갑 니 다.
[1, 2, 5, -1, 9].find((n) => n < 0)
//           0    
// -1

  find () 방법의 리 셋 함 수 는 세 개의 인 자 를 받 아들 일 수 있 으 며, 현재 값, 현재 위치 와 원수 그룹 순 으로 나 눌 수 있다.
  findIndex () 방법의 용법 은 find () 방법 과 매우 유사 하 며, 첫 번 째 조건 에 부합 되 는 배열 구성원 의 위 치 를 되 돌려 주 고, 모든 구성원 이 조건 에 부합 되 지 않 으 면 - 1 로 되 돌려 줍 니 다.
[1, 2, 5, -1, 9].findIndex((n) => n < 0)
//           (  )
// 3

2. filter()
filter () 방법 은 지정 한 함수 로 모든 요 소 를 테스트 하고 테스트 를 통과 한 모든 요 소 를 포함 하 는 새 배열 을 만 듭 니 다.
filter 는 배열 의 모든 요소 에 콜 백 함 수 를 한 번 호출 하고 콜 백 을 true 또는 true 와 같은 값 으로 되 돌려 주 는 모든 요 소 를 이용 하여 새 배열 을 만 듭 니 다.콜백 테스트 를 통과 하지 않 은 요 소 는 건 너 뛰 고 새 배열 에 포함 되 지 않 습 니 다.filter 는 원래 배열 을 바 꾸 지 않 습 니 다.
var arr = [10, 20, 30, 40, 50]
var newArr = arr.filter(item => item > 30);
console.log(newArr); //[40, 50]

 
//    
var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 0, 8, 6, 3, 4, 56, 2];
var arr2 = arr.filter((x, index,self)=>self.indexOf(x) === index)  
console.log(arr2); // [1, 2, 3, 4, 5, 6, 7, 8, 0, 56]

3. forEach()
  배열 의 모든 요 소 를 옮 겨 다 니 며 리 셋 함 수 를 이용 하여 배열 을 조작 합 니 다. 전체 배열 을 자동 으로 옮 겨 다 니 며 break 중간 에 순환 을 뛰 어 넘 을 수 없습니다. 제어 할 수 없습니다. return 작업 출력 은 지원 되 지 않 습 니 다. return 은 현재 순환 에서 뛰 어 나 올 지 여 부 를 제어 하 는 데 만 사 용 됩 니 다.
  리 셋 은 세 개의 매개 변수 가 있 습 니 다. 첫 번 째 매개 변 수 는 옮 겨 다 니 는 배열 내용 이 고 두 번 째 매개 변 수 는 대응 하 는 배열 색인 이 며 세 번 째 매개 변 수 는 배열 자체 입 니 다.
var arr = [1,2,3,4,5,] ;
arr.forEach(function(item,index){
  console.log(item);
});

  이 방법 은 값 을 되 돌려 주지 않 고 배열 의 모든 항목 을 옮 겨 다 니 며 원래 배열 을 수정 하지 않 습 니 다.
   그러나 스스로 배열 의 색인 을 통 해 원래 의 배열 을 수정 할 수 있다.
var ary = [12,23,24,42,1];  
var res = ary.forEach(function (item,index,input) {  
       input[index] = item*10;  
})  
console.log(res);//--> undefined;  
console.log(ary);//-->             ;  

 
4. some () 와 every()
every () 와 some () 방법 은 모두 JS 에서 배열 의 교체 방법 으로 불 값 만 되 돌려 줍 니 다.
every()
배열 에서 모든 요소 가 조건 을 만족 시 키 는 지 판단 하려 면 조건 을 만족 시 켜 야 true 로 돌아 갑 니 다.만족 하지 않 는 것 이 있 으 면 false 로 돌아 갑 니 다.
some()
배열 에 최소한 하나의 요소 가 만족 하 는 지 여 부 를 판단 합 니 다. 만족 하 는 것 이 있 으 면 true 로 돌아 갑 니 다. 만족 하지 않 을 때 만 false 로 돌아 갑 니 다.
//     arr1      
//     arr2         
 
var arr1=[1, 2, 3, 4, 5];
var arr2=[1, 4, 6, 8, 10];
console.log(
    arr1.every(function(value, index, array){
        return value % 2 == 0;
    })
);    // false
console.log(
    arr2.some(function(value, index, array){
        return value % 2 == 0;
    })
);    // true

5. map()
map () 방법 은 새로운 배열 을 되 돌려 줍 니 다. 배열 의 요 소 는 원시 배열 요소 호출 함수 처리 후의 값 입 니 다.
map () 방법 은 원시 배열 요소 순서에 따라 요 소 를 순서대로 처리 합 니 다.
주의: map () 는 빈 배열 을 검사 하지 않 습 니 다.
주의: map () 는 원본 배열 을 바 꾸 지 않 습 니 다.
 
array.map(function(currentValue,index,arr), thisValue)  
var data = [1, 2, 3, 4];
 
var arrayOfSquares = data.map(function (item) { //     
  return item * item;
});
 
alert(arrayOfSquares); // [1, 4, 9, 16]

 

좋은 웹페이지 즐겨찾기