>웹 프론트엔드 >JS 튜토리얼 >자바스크립트 배열 방법_자바스크립트 기술에 대한 매우 상세한 요약

자바스크립트 배열 방법_자바스크립트 기술에 대한 매우 상세한 요약

WBOY
WBOY원래의
2016-05-16 15:30:421252검색

1. 배열의 일반적인 방법
1: 조인();

배열을 문자열로 변환하여 표시합니다. 매개변수를 입력하지 않으면 기본적으로 쉼표로 연결되고, 매개변수를 입력하면 매개변수로 연결됩니다.

var arr=[1,2,3];
console.log(arr.join());  // 1,2,3;
console.log(arr.join("_")); // 1_2_3;
console.log(arr);      // [1,2,3];

원래 배열은 변경되지 않습니다.

2: 역방향();

배열을 역순으로 배열하면 원래 배열이 수정됩니다.

var arr=[1,2,3];
var arr2=arr.reverse();
console.log(arr2); // [3,2,1];
console.log(arr);  // [3,2,1];

3: 정렬();

기본적으로 배열 항목은 오름차순으로 정렬되며, 각 배열 항목의 toString() 메서드를 호출한 후 문자열의 처음부터 결과 문자열을 비교합니다.

var arr=[2,12,14,21,5];
console.log(arr.sort());  //[12, 14, 2, 21, 5];

비교 함수를 매개변수로 전달할 수도 있습니다. 첫 번째 매개변수가 먼저 와야 한다면 비교 함수는 0보다 작은 값을 반환하고, 그렇지 않으면 첫 번째 매개변수가 마지막에 오고, 순서가 중요하지 않으면 비교 함수는 0보다 큰 값을 반환합니다.

var arr=[2,12,14,21,5];
console.log(arr.sort(function(a,b){return a-b}));   // [2,5,12,14,21]; 

var arr1=[2,12,14,21,5];
console.log(arr1.sort(function(a,b){return b-a}));  // [21,14,12,5,2];

4: concat();

배열이 병합되고 원래 배열은 변경되지 않은 상태로 유지됩니다.

var arr=[1,2,3];
console.log(arr.concat(4,5));      // [1, 2, 3, 4, 5];
console.log(arr.concat([4,5],6));    // [1, 2, 3, 4, 5, 6];
console.log(arr.concat([[4,5],6]));   // [1, 2, 3, [4, 5],6];
console.log(arr);            // [1, 2, 3];

5: 슬라이스();

첫 번째 매개변수에 해당하는 배열 항목을 포함하여 부분 배열을 반환하지만 두 번째 매개변수에 해당하는 배열 항목은 반환하지 않습니다. 전달된 매개변수가 0보다 작은 경우 뒤에서 앞으로 계산되며 마지막 항목은 -1이 됩니다. 하나의 매개변수만 전달되면 반환된 배열에는 시작 위치부터 배열 끝까지의 모든 요소가 포함됩니다. 원래 배열은 변경되지 않고 그대로 유지됩니다.

var arr=[1,2,3,4,5];
console.log(arr.slice(1,3));   // [2,3];
console.log(arr.slice(1));    // [2,3,4,5];
console.log(arr.slice(1,-1));  // [2,3,4];
console.log(arr);        // [1,2,3,4,5];

6: 스플라이스();

배열 연결:

1) 삭제 - 요소를 삭제하는 데 사용되며, 두 개의 매개변수, 첫 번째 매개변수(삭제할 첫 번째 항목의 위치), 두 번째 매개변수(삭제할 항목 수)

2) 삽입 - 배열의 지정된 위치에 요소를 삽입합니다. 세 개의 매개변수, 첫 번째 매개변수(실제 위치), 두 번째 매개변수(0), 세 번째 매개변수(삽입된 항목)

3) 교체 - 배열의 지정된 위치에 항목 요소를 삽입하고 세 개의 매개변수를 동시에 삭제합니다. 첫 번째 매개변수(시작 위치), 두 번째 매개변수(삭제할 항목 수), 세 번째 매개변수(임의의 항목 수 삽입)

splice()는 삭제된 요소로 구성된 배열을 반환하거나 삭제된 요소가 없는 경우 빈 배열을 반환합니다. 원래 배열이 수정되었습니다.

var arr=[1,2,3,4,5,6];
console.log(arr.splice(2));        // [3,4,5,6];
console.log(arr);             // [1,2];
console.log(arr.splice(2,0,3,4,5,6));  // [];
console.log(arr);               // [1,2,3,4,5,6];
console.log(arr.splice(2,2));       // [3,4];
console.log(arr);              // [1,2,5,6];

7: push() 및 pop() 메서드, unshift() 및 Shift() 메서드

push() 및 pop() 스택 메서드는 후입선출 방식입니다. 원래 배열이 변경됩니다.

push() 메서드는 배열 끝에 하나 이상의 요소를 추가하고 배열의 새 길이를 반환합니다.

pop() 메서드는 배열의 마지막 요소를 제거하고 배열의 길이를 줄인 후 삭제된 값을 반환합니다.

unshift() 및 Shift() 대기열 메서드, 선입선출. 원래 배열이 변경됩니다.

unshift() 메서드는 배열의 헤드에 하나 이상의 요소를 추가하고 기존 요소의 인덱스를 변경한 다음 배열의 새 길이를 반환합니다.

shift() 메소드는 배열의 첫 번째 요소를 삭제하고 이를 반환하며 기존 요소의 인덱스를 변경합니다.

var arr=[1,2,3];
console.log(arr.push(4));  //4;
console.log(arr);       //[1,2,3,4];
console.log(arr.pop());   //4;
console.log(arr);       //[1,2,3];
console.log(arr.unshift(0)); //4;
console.log(arr);       //[0,1,2,3];
console.log(arr.shift());  //0;
console.log(arr);       //[1,2,3];

8:forEach();

forEach()里第一个参数为该集合里的元素,第二个参数为集合里的索引,第三个参数为集合本身。

9:map();

map()对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组,原数组未被修改。

10:every()

对数组的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。

11:some()

对数组的每一项运行给定函数,如果该函数对任一项返回true,则返回true。

12:filter()

对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组。

13:reduce()和reduceRight();
两个方法都会迭代数组的所有项,然后构建一个最终返回的值。其中reduce()方法从数组的第一项开始,逐个遍历到最后。而reduceRight()则从数组的最后一项开始,向前遍历到第一项。数组未被修改。

 

二、扩展方法
1:数组去重

function unique(array){
  return array.filter(function(item,index){
    return array.indexOf(item)==index;
  })
};
var arr=[1,2,3,3,4,2,1,5];
console.log(unique(arr));    //[1,2,3,4,5];

function unique(arr){
  var arr2=[arr[0]],
    len=arr.length;
  if(!len){
    return;
  }
  for(var i=0;i<len;i++){
    arr2.join(" ").indexOf(arr[i])<0&#63;arr2.push(arr[i]):"";
  }
  return arr2;
}
var arr=[1,2,3,3,4,2,1,5];
console.log(uniq(arr));   //[1,2,3,4,5]    

2:去掉数组中的空元素

function deleteNullInArray(array){
  return array.filter(function(item){
    return item!=null;
  }) 
}
var arr=[1,2,null,,,5];
console.log(deleteNullInArray(arr));  //[1,2,5];

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.