js 흔 한 배열 방법 및 고급 함수

5945 단어 js
foreach 의 용법
일반 데이터 스 트 리밍 방법
var array = [1,2,3,4,5,6,7];  
 for (var i = 0; i < array.length; i) {  
     console.log(i,array[i]);  
 }

for in 방법 으로 배열 을 옮 겨 다 니 기
for(let index in array) {  
    console.log(index,array[index]);  
};

foreach 방법 배열 옮 겨 다 니 기
array.forEach(function(v,i,arr){  
    console.log(v);  
});

문법: array. foreach (function (v, i, arr), this Value) 상기 코드 에서 첫 번 째 매개 변수 v 는 현재 요 소 를 대표 하고 두 번 째 매개 변수 i 는 현재 요소 의 색인 (선택 가능) 을 대표 하 며 세 번 째 매개 변수 arr 는 현재 요소 가 속 한 배열 대상 (선택 가능) 을 대표 합 니 다.
this Value 선택 가능.함수 에 전달 되 는 값 은 일반적으로 "this" 값 을 사용 합 니 다.이 인자 가 비어 있 으 면 "undefined" 는 "this" 값 에 전 달 됩 니 다.
특징: foreach () 방법 은 배열 의 모든 요소 에 대해 한 번 에 제공 하 는 함 수 를 실행 합 니 다.항상 undefined 로 돌아 가기;foreach () 방법 은 원래 배열 을 바 꿉 니 다.
 var array1 = [1,2,3,4,5];
 
 varp = array1.forEach(function(value,index){
 
    console.log(value);   //          
 
    return value + 10
});
console.log(p);   //undefined        ,   undefined

map 방법
문법: foreach 와 같이 array. map (function (currentValue, index, arr), this Value) 첫 번 째 매개 변수 v 는 현재 요 소 를 대표 하고 두 번 째 매개 변수 i 는 현재 요소 의 색인 (선택 가능) 을 대표 하 며 세 번 째 매개 변수 arr 는 현재 요소 가 속 한 배열 대상 (선택 가능) 을 대표 합 니 다.
var p1 = array1.map(function(value,index){
 
    console.log(value);   //          
 
    return value + 10
});
console.log(p1);   //[11, 12, 13, 14, 15]           

foreach 와 달리 map () 방법 은 새로운 배열 을 되 돌려 줍 니 다. 배열 의 요 소 는 원시 배열 요소 호출 함수 처리 후의 값 입 니 다.
map () 방법 은 원시 배열 요소 순서에 따라 요 소 를 순서대로 처리 합 니 다.
메모: 맵 () 은 빈 그룹 을 검사 하지 않 습 니 다.
메모: map () 는 원본 배열 을 바 꾸 지 않 습 니 다.
filter
filter 도 Array 의 일부 요 소 를 걸 러 내 고 나머지 요 소 를 되 돌려 주 는 데 자주 사용 되 는 동작 입 니 다.맵 () 과 유사 하 며, Array 의 filter () 도 함 수 를 받 습 니 다.map () 와 달리 filter () 는 들 어 오 는 함 수 를 각 요소 에 순서대로 작용 한 다음 에 반환 값 이 true 인지 false 인지 에 따라 이 요 소 를 유지 할 지 버 릴 지 결정 합 니 다.
//  ,   Array ,    ,     ,     :
var arr = [1, 2, 4, 5, 6, 9, 10, 15];
var r = arr.filter(function (x) {
    return x % 2 !== 0;
});
r; // [1, 5, 9, 15],             

filter () 가 받 은 리 셋 함 수 는 사실 여러 개의 인자 가 있 을 수 있 습 니 다.일반적으로 우 리 는 첫 번 째 인자 만 사용 하여 Array 의 특정한 요 소 를 표시 합 니 다.리 셋 함 수 는 또 다른 두 개의 인 자 를 받 아들 여 요소 의 위치 와 배열 자 체 를 나 타 낼 수 있 습 니 다.
var arr = ['A', 'B', 'C'];
var r = arr.filter(function (element, index, self) {
    console.log(element); //     'A', 'B', 'C'
    console.log(index); //     0, 1, 2
    console.log(self); // self    arr
    return true;
});


//  filter,       Array     :

var p,
    arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
    p = arr.filter(function (element, index, self) {
    return self.indexOf(element) === index;
});
alert(p.toString());
//          indexOf            ,          indexOf        ,   filter   。

sort 정렬 알고리즘
배열 의 sort () 방법 은 기본적으로 모든 요 소 를 String 으로 바 꾸 고 정렬 합 니 다. 예 를 들 어 '10' 은 '2' 의 앞 에 있 습 니 다. 문자 '1' 은 문자 '2' 의 ASCII 코드 보다 작 기 때 문 입 니 다.sort () 방법의 기본 정렬 규칙 을 사용 하면 숫자 에 대한 정렬 이 잘못 되 었 을 것 입 니 다. 그러나 sort () 방법 도 고급 함수 입 니 다. 비교 함 수 를 받 아 사용자 정의 정렬 을 실현 할 수 있 습 니 다.
//    :
var arr = [10, 20, 30, 1, 2, 3];
arr.sort(function (x, y) {
    if (x < y) {
        return -1;
    }
    if (x > y) {
        return 1;
    }
    return 0;
}); // [1, 2, 3, 10, 20, 30]


//    :
var arr = [10, 20, 30, 1, 2, 3];
arr.sort(function (x, y) {
    if (x < y) {
        return 1;
    }
    if (x > y) {
        return -1;
    }
    return 0;
}); // [30, 20, 10, 3, 2, 1]



//sort()      Array    ,          Array:
var a1 = ['B', 'A', 'C'];
var a2 = a1.sort();
a1; // ['A', 'B', 'C']
a2; // ['A', 'B', 'C']
a1 === a2; // true, a1 a2     

every()
정의 와 용법 every () 방법 은 배열 의 모든 요소 가 지정 한 조건 에 부합 되 는 지 검사 하 는 데 사 용 됩 니 다 (함수 로 제공).
every () 방법 은 지정 한 함수 로 배열 의 모든 요 소 를 검사 합 니 다:
배열 에서 하나의 요소 가 만족 하지 않 는 다 면 전체 표현 식 은 false 로 돌아 가 고 나머지 요 소 는 더 이상 검 측 하지 않 습 니 다.모든 요소 가 조건 을 만족 시 키 면 true 로 돌아 갑 니 다.
메모: every () 는 빈 배열 을 검사 하지 않 습 니 다.
메모: every () 는 원본 배열 을 바 꾸 지 않 습 니 다.
문법: array. every (function (currentValue, index, arr) currentValue (필수. 현재 요소 의 값) index (선택 할 수 있 습 니 다. 현재 요소 의 색인 값) arr (선택 할 수 있 습 니 다. 현재 요소 가 속 하 는 배열 대상) this Value (선택 할 수 있 습 니 다. 대상 은 이 리 셋 을 실행 할 때 사용 하고 함수 에 전달 하 며 "this" 로 사 용 됩 니 다.의 값 입 니 다. this Value 를 생략 하면 "this" 의 값 은 "undefined" 입 니 다) 반환 값: 불 값 입 니 다.모든 요소 가 검 사 를 통 해 true 로 돌아 오지 않 으 면 false 로 돌아 갑 니 다.
1
2
3
4
5
6
7
8
//             10
function isBigEnough(element, index, array) {
  return (element >= 10);
}
var passed = [12, 5, 8, 130, 44].every(isBigEnough);
// passed is false
passed = [12, 54, 18, 130, 44].every(isBigEnough);
// passed is true

some()
정의 와 용법 some () 방법 은 배열 의 요소 가 지정 한 조건 (함수 제공) 에 만족 하 는 지 확인 하 는 데 사 용 됩 니 다.
some () 방법 은 배열 의 모든 요 소 를 순서대로 실행 합 니 다.
조건 을 만족 시 키 는 요소 가 있 으 면 표현 식 은 true 로 돌아 가 고 나머지 요 소 는 더 이상 검 사 를 수행 하지 않 습 니 다.조건 을 만족 시 키 는 요소 가 없 으 면 false 로 돌아 갑 니 다.메모: some () 는 빈 배열 을 검사 하지 않 습 니 다.
메모: some () 는 원본 배열 을 바 꾸 지 않 습 니 다.
문법: array. some (function (currentValue, index, arr), this Value) 형식 은 every 와 같 습 니 다.
반환 값: 불 값.배열 에 요소 가 만족 하 는 조건 이 있 으 면 true 로 돌아 갑 니 다. 그렇지 않 으 면 false 로 돌아 갑 니 다.
1
2
3
4
5
6
7
8
//          10   
function isBigEnough(element, index, array) {
  return (element >= 10);
}
var passed = [2, 5, 8, 1, 4].some(isBigEnough);
// passed is false
passed = [12, 5, 8, 1, 4].some(isBigEnough);
// passed is true

좋은 웹페이지 즐겨찾기