자바 script 배열 (2) - 방법 해석 사랑

6976 단어 배열자바 script
이 어 '자 바스 크 립 트 수조 Array (一) - 기초 소개 사랑' 을 통 해 Array 의 모든 방법 을 상세히 소개 한다.
모든 배열 의 방법 은 Array. prototype 에 정의 되 어 있 으 며, Array. prototype 자체 도 하나의 배열 입 니 다.
array.concat()
현재 배열 을 복사 하고 받 은 매개 변 수 를 새 배열 의 끝 에 추가 합 니 다.원래 배열 은 변 하지 않 습 니 다.
문법
array.concat(value1, value2, ..., valueN)

매개 변 수 는 합 쳐 야 할 배열 이나 비 배열 값 입 니 다.
var arr1 = [1, 2, 3];
var obj = {animal : 'monkey'};
var arr2 = arr1.concat([4, 5, 6], obj, [7, 8, 9]);
// arr1 [1, 2, 3]
// arr2 [1, 2, 3, 4, 5, 6, {animal : 'monkey'}, 7, 8, 9]

obj.animal = 'tiger';
// [1, 2, 3, 4, 5, 6, {animal : 'tiger'}, 7, 8, 9]

배열 이나 비 배열 값 을 합 칠 수 있 지만 대상 이 포함 되 어 있 으 면 대상 은 원래 의 대상 을 참조 하 는 것 을 주의해 야 합 니 다.
array.join()
배열 의 모든 요 소 를 구분자 로 연결 한 문자열 을 되 돌려 줍 니 다. 기본 구분자 가 쉼표 입 니 다.
문법
array.join(seperator)

매개 변 수 는 분할 문자
var arr1 = [1, 2, 3];
var str = arr1.join(); // 1,2,3
str = arr1.join('#'); // 1#2#3

대량의 문자열 세 션 을 조립 할 때 join 방법 은 + 요소 연산 자 보다 빠 릅 니 다.
new Array (3) 를 이용 하여 길이 가 3 인 빈 배열 을 만 들 고 join () 방법 과 결합 하여 특정한 문자열 을 반복 할 수 있 습 니 다.
var str = new Array(3).join('-+'); // -+-+

반복 되 는 횟수 는 문자열 이 구분자 이기 때문에 배열 의 길 이 를 1 로 줄 이 는 것 입 니 다.
배열 자체 가 대상 이기 때문에 toString () 방법 이 있 습 니 다. 이 를 이용 하여 배열 을 하나의 문자열 로 연결 할 수 있 습 니 다. 구분자 만 쉼표 일 수 있 습 니 다.
var arr1 = [1, 2, 3];
arr1.toString(); // 1,2,3

실제로 모든 요소 의 toString () 방법 을 먼저 호출 합 니 다.
array.push()
하나 이상 의 인 자 를 배열 의 끝 에 추가 하여 배열 의 길 이 를 되 돌려 줍 니 다.배열 자 체 를 변경 합 니 다.
문법
array.push(value1, value2, ..., valueN);

실례
var arr1 = [1, 2, 3];
var len = arr1.push(4, 5);

console.log(len); // 5
console.log(arr1); // [1, 2, 3, 4, 5]

다른 방법 도 배열 의 끝 에 값 을 삽입 하 는 것 을 실현 할 수 있다.
arr1[arr1.length] = 6; // [1, 2, 3, 4, 5, 6]   

array.pop()
배열 의 마지막 항목 을 삭제 하고 삭제 항목 을 되 돌려 줍 니 다.배열 자 체 를 변경 합 니 다.
var arr1 = [1, 2, 3];
arr.pop(); // [1, 2]    3

배열 이 비어 있 으 면 undefined 로 돌아 갑 니 다.
array.unshift()
하나 이상 의 인 자 를 배열 의 머리 에 삽입 하고 배열 의 길 이 를 되 돌려 줍 니 다.배열 자 체 를 변경 합 니 다.
var arr1 = [1, 2, 3];
var len = arr1.unshift(4, 5);

console.log(len); // 5
console.log(arr1); // [4, 5, 1, 2, 3]

array.shift()
배열 의 첫 번 째 항목 을 삭제 하고 삭제 항목 을 되 돌려 줍 니 다.배열 자 체 를 변경 합 니 다.
var arr1 = [1, 2, 3];
arr.shift(); // [2, 3]    1

배열 이 비어 있 으 면 undefined 로 돌아 갑 니 다.
array.sort()
이 방법 은 각 요소 의 toString () 방법 으로 되 돌아 오 는 값 에 따라 정렬 되 기 때문에 일반적으로 원 하 는 결 과 를 얻 지 못 합 니 다.
var arr1 = [1, 2, 3, 14, 24];
arr1.sort(); // [1, 14, 2, 24, 3]

그러나 sort () 방법 은 사용자 정의 함 수 를 받 아들 여 비교 할 수 있 습 니 다.비교 함 수 는 두 개의 인 자 를 받 아들 입 니 다. 특히 sort () 는 기본 값 이 오름차 입 니 다. 따라서 첫 번 째 인 자 를 두 번 째 매개 변수 앞 에 두 려 면 음 수 를 되 돌려 야 합 니 다. 똑 같이 0 을 되 돌려 주 고 뒤에서 정 수 를 되 돌려 야 합 니 다.
var compare = function(a, b){
    return a - b;
}

var arr2 = [1, 12, 2, 23, 3 , 5, 4];
arr2.sort(compare); // [1, 2, 3, 4, 5, 12, 23]

비교 문자열 은 string. locale Compare () 방법 과 결합 하여 사용 할 수 있 습 니 다.
var arr3 = ['F', 'e', 'f', 'E'];
arr3.sort(function(a, b){
    return a.localeCompare(b);
});
// ['e', 'E', 'f', 'F'] 

array.reverse()
배열 요소 순 서 를 반전 시 켜 배열 자신 을 되 돌려 줍 니 다.
var arr1 = [1, 4, 3, 2];
arr1.reverse(); // [2, 3, 4, 1]

array.slice()
배열 의 얕 은 부분 을 복사 하고 배열 자 체 를 바 꾸 지 않 습 니 다.
array.slice(start, end);

방법 은 두 개의 인 자 를 받 아들 이 고 마지막 하 나 는 생략 할 수 있 으 며 기본 값 은 배열 자체 의 길이 입 니 다.
var arr1 = [1, 2, 3, 4, 5, 6];

arr1.slice(4); // [5, 6]
arr1.slice(2, 4); // [3, 4]
arr1.slice(-3); // [4, 5, 6]

음수 가 들 어가 면 자동 으로 배열 의 길 이 를 더 해 비 음수 로 변 하려 고 한다.절대 값 이 배열 의 길이 보다 작은 값 으로 들 어 오 는 것 은 뒤에서 마이너스 절대 값 개 수 를 가 져 오 는 요소 입 니 다.예 를 들 어 예 에서 뒤의 세 가지 요 소 를 취 했다.
또 다른 용법 은 함수 인자 arguments 를 정상 적 인 배열 로 바 꾸 는 것 이다.배열 이 너무 커서 성능 이 좋 지 않 으 니 저울질 해서 사용 하 세 요.
Array.prototype.slice.call(arguments);

array.splice()
이것 은 배열 에서 가장 강력 하고 자주 사용 하 는 방법 입 니 다. 삭제, 삽입, 교 체 를 실현 할 수 있 습 니 다.
문법
array.slice(start, count, item);

이 방법 은 하나 이상 의 요 소 를 제거 하고 새로운 요소 로 대체 합 니 다.start 는 시작 하 는 위치 입 니 다. count 는 삭 제 된 수량 입 니 다. item 은 새로 추 가 된 요소 입 니 다. (item 은 하나 가 아니 라 생략 할 수도 있 습 니 다) 삭 제 된 요 소 를 배열 로 되 돌려 줍 니 다.
var arr1 = [1, 2, 3, 4, 5];
//  
arr1.splice(2, 1); // [1, 2, 4, 5]     [3]
//  
arr1.splice(3, 0, 6, 7); // [1, 2, 4, 6, 7, 5]
//  
arr1.splice(1, 2, 8, 9); // [1, 8, 9, 6, 7, 5]    [2, 4]

다음은 ECMAScript 5 가 새로 추 가 된 방법 을 소개 합 니 다. 주로 ie8 이 지원 하지 않 습 니 다.
index Of () 와 lastIndex Of ()
대응 하 는 항목 이 배열 에 있 는 색인 위 치 를 찾 습 니 다. 두 번 째 매개 변 수 는 검색 방향 에 대한 시작 위 치 를 표시 하고 첫 번 째 일치 하 는 위 치 를 되 돌려 줍 니 다. 찾 지 못 하면 - 1 로 돌아 갑 니 다. index Of () 는 이동 한 후에 찾 습 니 다. lastIndex Of () 는 뒤에서 찾 습 니 다.
var arr1 = [1, 2, 3, 4, 3, 2, 1];
arr1.indexOf(2); // 1
arr1.indexOf(2, 3); // 5

arr1.lastIndexOf(3); // 4
arr1.lastIndexOf(3, 4) // 2

반복 방법
다음 방법 은 두 개의 매개 변 수 를 받 아들 입 니 다. 첫 번 째 는 각 항목 이 실행 되 는 함수 이 고 두 번 째 함수 가 실행 되 는 역할 영역 입 니 다. 실행 함 수 는 세 개의 매개 변수 가 있 습 니 다. 각각 현재 항목, 위치, 배열 자체 입 니 다.
array.every()
주어진 함 수 를 실행 합 니 다. 모든 항목 을 트 루 로 되 돌려 주면 트 루 로 돌아 갑 니 다.
var arr1 = [1, 2, 3, 4, 5];
arr1.every(function(item, index, array){
    return item > 3;
});
// false

array.some()
주어진 함 수 를 실행 합 니 다. 교체 중 하나 가 트 루 로 돌아 가면 트 루 로 돌아 갑 니 다.
arr1.some(function(item, index, array){
    return item > 3;
});
// true

array.map()
주어진 함 수 를 실행 하고 반복 되 는 값 을 배열 로 구성 하여 이 배열 로 되 돌려 줍 니 다.
arr1.map(function(item, index, array){
    return item * 2;
});
// [2, 4, 6, 8, 10]

array.filter()
주어진 함 수 를 실행 하고 트 루 요 소 를 배열 로 되 돌려 줍 니 다.
arr1.filter(function(item, index, array){
    return item > 3;
});
// [4, 5]

array.forEach()
주어진 함 수 를 실행 하고 값 을 되 돌려 주지 않 습 니 다. 일반적인 for 순환 과 유사 한 기능 입 니 다.
병합 방법
함 수 는 두 개의 파 라 메 터 를 받 아들 입 니 다. 첫 번 째 파 라 메 터 는 각각 실행 되 는 사용자 정의 함수 입 니 다. 두 번 째 파 라 메 터 는 병합 기반 의 초기 값 입 니 다. 사용자 정의 함 수 는 네 개의 파 라 메 터 를 받 아들 입 니 다. 각각 이전 항목, 현재 항목, 위치, 배열 입 니 다.
array. reduce () 와 array. reduceRight ()
var splitstr = function(prev, item, index, array){
    return prev + '#' + item;
}

var arr1 = [1, 2, 3, 4, 5];
arr1.reduce(splitstr, 8); // 8#1#2#3#4#5
arr1.reduceRight(splitstr, 8); // 8#5#4#3#2#1

작은 매듭
이 편 은 배열 방법의 여러 가지 세부 사항 과 주의 문 제 를 소개 하 였 으 며, 다음 편 은 배열 의 더 높 은 용법 을 소개 할 것 이다. 이 편 은 후속 으로 ECMAScript 6 에 새로 추 가 된 배열 방법 에 대한 소 개 를 추가 할 것 이다.

좋은 웹페이지 즐겨찾기