JS 코드를 작성할 때 Array는 가장 자주 사용되어야 합니다. 일상적인 프로젝트에서는 Array를 통해 많은 데이터를 저장하고 조작할 수 있습니다. Object 외에도 Array 유형은 js에서 가장 일반적으로 사용되는 유형이어야 합니다.
오늘은 Array의 간단하고 기본적인 조작 몇 가지를 요약하고, 기본 지식도 정리하겠습니다.
1. 배열 생성 방법(배열에 대해서는 바로 아래에서 다루겠습니다)
배열을 생성하는 방법은 크게 두 가지가 있는데, 첫 번째는 배열 생성자를 사용하는 것이고, 두 번째는 배열 리터럴 표현을 사용합니다.
1. 배열 생성자를 사용합니다.
예: var arr = new Array();
배열의 길이를 미리 알고 있으면 다음을 전달할 수도 있습니다. 생성자 길이에 직접 적용됩니다.
예: var arr = new Array(20);
배열에 포함되어야 하는 항목을 알고 있는 경우 배열에 포함되어야 하는 항목을 실행 중에 직접 전달하면 됩니다. 건설.
예: var arr = new Array(1,2,3);
2. 배열 리터럴 표현을 사용합니다.
예: var arr = [1,2 ,3,4];
var arr2 = [];
2. 배열 연산
1. 스택 방식과 대기열 방식
1) 스택 작동 방식: 선입선출 원칙----배열의 꼬리를 다시 추가하여 데이터 항목을 추가한 다음 배열의 꼬리에서 꼬리 데이터 항목을 가져옵니다
push() ;----즉, 데이터 항목 추가 배열의 끝부분에서 이 메소드의 매개변수 수를 사용자 정의할 수 있습니다.
pop();---이 메소드는 마지막 데이터를 가져오는 것입니다. 배열의 항목인 경우 이 함수는 매개변수를 전달할 필요가 없습니다.
예:
var colors = new Array();//배열 만들기
var count = colors .push("red","green");//두 항목 푸시
console.log(count)
var color = ["red","black"]; .push("brown");//다른 항목 푸시
color [3]="yellow"; //항목 추가
console.log(color)
console.log(color.push ("blue"));
console.log(color.pop ());//마지막 항목 가져오기
>shift();---배열의 헤드 항목에 대한 데이터 정보를 가져옵니다.
unshift();-shift와 완전히 반대이며, 배열의 헤드에 데이터 항목 정보를 삽입합니다. 🎜>
var colorArr = new Array();//배열 만들기colorArr.push( "red","yellow");//두 항목 푸시
console.log(colorArr)var length = colorArr.push("blue");
console.log(length);
var item = colorArr.shift();//첫 번째 항목 가져오기
console. log(item);
console.log(colorArr.length);
2. 배열 감지 및 확인
2) 두 번째 방법
if(value instanseof Array){ }
3. 구체적인 프로그래밍 예시
1) 요소 추가(배열 끝에 요소 추가)if(Array.isArray(value)){ }//该方法只使用与高版本的浏览器:IE9+、Firefox4+/Chrome
요소 항목 추가 배열 arr의 끝까지. arr 배열을 직접 수정하지 마세요. 결과는 새 배열을 반환합니다.
방법 2: 일반적인 반복 복사
function append(arr, item) { var newArr = arr.slice(0); // slice(start, end)浅拷贝数组 newArr.push(item); return newArr; };
방법 3: concat 사용
function append(arr, item) { var length = arr.length, newArr = []; for (var i = 0; i < length; i++) { newArr.push(arr[i]); } newArr.push(item); return newArr; };
2) 요소 추가(임의의 위치에 요소 추가)
배열 arr의 인덱스에 요소 항목을 추가합니다. 배열 arr을 직접 수정하지 마십시오. 결과는 새 배열이 됩니다.function append(arr, item) { return arr.concat(item); }
방법 1: 일반적인 반복 복사 사용
방법 2: Slice() 및 splice() 결합
function insert(arr, item, index) { var newArr=[]; for(var i=0;i<arr.length;i++){ newArr.push(arr[i]); } newArr.splice(index,0,item); return newArr; }
방법 3: concat() 및 splice () 결합
function insert(arr, item, index) { var newArr=arr.slice(0); newArr.splice(index,0,item); return newArr; }
3. 요소 삭제(배열의 마지막 요소 삭제)
배열 arr의 마지막 요소를 삭제합니다. 배열 arr을 직접 수정하지 마십시오. 결과는 새 배열이 됩니다.function insert(arr, item, index) { var newArr=arr.concat(); newArr.splice(index,0,item); return newArr; }
방법 1: 일반 반복 복사 사용
방법 2: concat()과 pop() 결합
function truncate(arr, item) { var newArr=[]; for(var i=0;i<arr.length-1;i++){ newArr.push(arr[i]); } return newArr; }
4. 요소 삭제 요소)
배열 arr의 첫 번째 요소를 삭제합니다. 배열 arr을 직접 수정하지 마십시오. 결과는 새 배열이 됩니다.function truncate(arr) { var newArr = arr.concat(); newArr.pop(); return newArr; }
방법 1: 일반 반복 복사 사용
방법 2: concat() 및 Shift() 결합
function curtail(arr) { var newArr=[]; for(var i=1;i<arr.length;i++){ newArr.push(arr[i]); } return newArr; }
방법 3: 슬라이스( )
function curtail(arr) { var newArr = arr.concat(); newArr.shift(); return newArr; }
5. 배열 병합
배열 arr1과 배열 arr2를 병합합니다. 배열 arr을 직접 수정하지 마십시오. 결과는 새 배열이 됩니다.function curtail(arr) { return arr.slice(1); }
방법 1: 일반적인 반복 복사 사용
방법 2: concat() 메서드
function concat(arr1, arr2) { var newArr=[]; for(var i=0;i<arr1.length;i++){ newArr.push(arr1[i]); } for(var j=0;j<arr2.length;j++){ newArr.push(arr2[j]); } return newArr; }
방법 3: Slice()와 push() 결합
function concat(arr1, arr2) { return arr1.concat(arr2); }
5. 배열의 요소 제거
값이 item과 같은 배열 arr의 모든 요소를 제거합니다. 배열 arr을 직접 수정하지 마십시오. 결과는 새 배열이 됩니다.function concat(arr1, arr2) { var newArr=arr1.slice(0); for(var i=0;i<arr2.length;i++){ newArr.push(arr2[i]); } return newArr; }
방법 1: splice() 방법
방법 2: push() 방법
function remove(arr, item) { var newArr = arr.slice(0); for(var i=0; i<newArr.length; i++) { if(newArr[i] == item) { newArr.splice(i, 1); } } return newArr; } var arr = [1,2,3,4,2]; var item = 2; console.log(remove(arr, item)); console.log(arr);
function remove(arr,item){ var newarr = []; for(var i=0;i<arr.length;i++){ if(arr[i] != item){ newarr.push(arr[i]); } } return newarr; }