>  기사  >  웹 프론트엔드  >  JavaScript arrays_javascript 기술에 대한 일반적인 방법

JavaScript arrays_javascript 기술에 대한 일반적인 방법

WBOY
WBOY원래의
2016-05-16 16:11:391200검색

객체가 배열인지 확인: instanceof, Array.isArray()

웹페이지나 전역 범위의 경우에는 instanceof 연산자를 사용할 수 있습니다.

if(value instanceof Array){ //값이 배열인지 확인
 
}
instanceof 연산자는 전역 실행 환경이 하나만 있다고 가정합니다. 웹 페이지에 여러 프레임이 포함되어 있으면 ECMAScript5의 새로운 Array.isArray() 메서드가 사용됩니다.

if(Array.isArray(value)){//값이 배열인지 확인

}
Array.isArray() 메서드가 지원하는 브라우저에는 IE9, Firefor 4, Safari5, Opera 10.5 및 Chrome이 포함됩니다.

이 방법을 구현하지 않은 브라우저에서 배열을 확인하려면 다음을 사용하세요.

if(Object.prototype.toString.call(value)=="[객체 배열]"){
}

배열을 문자열로 변환: toLocaleString(), toString(), valueOf(), Join()

코드 복사 코드는 다음과 같습니다.

var test=['a','b','c'];
경고(test.toString());//a,b,c
경고(test.toLocaleString());//a,b,c
경고(test.valueOf());//a,b,c
경고(테스트);//a,b,c는 기본적으로 String() 메소드를 호출합니다
Alert(test.join(','));//a,b,c
Alert(test.join('|'));//a|b|c

배열 요소 추가 및 제거 방법: push(), pop(), unshift(), Shift()

push() 메서드는 원하는 수의 매개변수를 허용하고 이를 배열 끝에 하나씩 추가하고 수정된 배열 길이를 반환할 수 있습니다.

pop() 메서드는 배열 끝에서 마지막 항목을 제거하고 제거된 항목을 반환합니다.

unshift() 메서드는 배열 앞에 원하는 수의 매개변수를 추가하고 새 배열 길이를 반환합니다.

shift() 메서드는 배열의 첫 번째 항목을 제거하고 제거된 항목을 반환합니다.

코드 복사 코드는 다음과 같습니다.

var 테스트=[];
var count = test.push('a','b');//배열 끝에서 하나씩
추가 개수 =test.push('c');
경고(개수);//3
경고(테스트);//
var 항목 = test.pop();
경고(항목);//c
경고(test.length);//2

정렬 방법: reverse() 및 sort()

reverse() 메소드는 배열 항의 순서를 반대로 바꾸고 배열 자체에 대해 작동합니다.

sort() 메서드는 기본적으로 배열 항목을 오름차순으로 정렬하고 배열 자체에 대해 작동합니다.

코드 복사 코드는 다음과 같습니다.

var 테스트=[1,2,3,4,5];
test.reverse();
경고(테스트);//5,4,3,2,1
var test2=[0,1,5,10,15];
test2.sort();
Alert(test2);//0,1,10,15,5 sort() 메서드는 각 배열 항목의 toString() 메서드를 호출하고 문자열을 비교하여 정렬을 결정합니다. 그래서 여기서의 정렬은 문자열 정렬입니다

sort() 메서드는 비교 함수를 전달할 수도 있습니다.

비교 함수는 첫 번째 매개변수가 두 번째 매개변수 앞에 와야 하는 경우 음수를 반환하고, 두 매개변수가 같으면 0을, 첫 번째 매개변수가 두 번째 매개변수 뒤에 와야 하는 경우 양수를 반환합니다.

코드 복사 코드는 다음과 같습니다.

함수 비교(값1,값2){
If(값1<값2){
         -1을 반환합니다.
}else if(값1>값2){
1을 반환;
}그밖에{
           0을 반환
}

var 테스트=[0,1,5,10,15];
test.sort(비교);
경고(테스트);//0,1,5,10,15

작업 방법: concat(), Slice(), splice()

concat() 메서드는 두 개 이상의 배열을 연결하는 데 사용됩니다. 이 메서드는 기존 배열을 수정하지 않고 단순히 연결된 배열의 복사본을 반환합니다. 새로운 배열을 반환합니다.

코드 복사 코드는 다음과 같습니다.

var a = [1,2,3];
경고(a.concat(4,5));//1,2,3,4,5
var arr = 새 배열(3)
arr[0] = "조지"
arr[1] = "존"
arr[2] = "토마스"
var arr2 = 새 배열(3)
arr2[0] = "제임스"
arr2[1] = "애드류"
arr2[2] = "마틴"
Alert(arr.concat(arr2));
//조지,존,토마스,제임스,애드류,마틴
var arr = 새 배열(3)
arr[0] = "조지"
arr[1] = "존"
arr[2] = "토마스"
var arr2 = 새 배열(3)
arr2[0] = "제임스"
arr2[1] = "애드류"
arr2[2] = "마틴"
var arr3 = 새 배열(2)
arr3[0] = "윌리엄"
arr3[1] = "프랭클린"
경고(arr.concat(arr2,arr3))
//조지,존,토마스,제임스,애드류,마틴,윌리엄,프랭클린

slice() 메서드는 기존 배열에서 선택한 요소를 반환합니다. arrayObject의 요소를 처음부터 끝까지(제외) 포함하는 새 배열을 반환합니다.

코드 복사 코드는 다음과 같습니다.

var test =['a','b','c','d','e'];
var arr1=test.slice(1);
var arr2=test.slice(1,4);
경고(arr1);//b,c,d,e
경고(arr2);//b,c,d

splice() 메서드는 배열에 항목을 추가/제거하고 제거된 항목을 반환합니다. 어레이 자체에서 작동합니다.

첫 번째 매개변수: 시작 위치, 두 번째 매개변수: 가로채기 횟수, 세 번째 매개변수: 추가할 새 요소.

코드 복사 코드는 다음과 같습니다.

//삭제
var test=['a','b','c'];
var Removal=test.splice(0,1)//첫 번째 항목 삭제
경고(테스트);//b,c
Alert(removed);//a 삭제된 항목을 반환합니다
//삽입
var test2=['a','b','c'];
var Removal2=test2.splice(1,0,'d','e')//위치 1에서 d,e 삽입
경고(테스트2);//a,d,e,b,c
경고(제거됨2)//빈 배열
//바꾸기
var test3=['a','b','c'];
var Removal3=test3.splice(1,1,'d','e')//위치 1에서 d,e 삽입
경고(테스트3);//a,d,e,c
경고(제거3)//b

위치 메소드: indexOf(), lastIndexOf()

ECMAScript5는 IE9, Firefox 2, Safari 3, Opera 9.5, Chrome 등 브라우저를 지원하는 방법을 제공합니다

indexOf() 메서드는 문자열에서 지정된 문자열 값이 처음 나타나는 위치를 반환합니다.

lastIndexOf() 메서드는 문자열의 지정된 위치에서 뒤에서 앞으로 검색하여 지정된 문자열 값이 마지막으로 나타나는 위치를 반환할 수 있습니다.

매개변수가 1개인 경우 : 찾으려는 값을 나타내며, 인덱스 위치를 반환합니다(0부터 시작). 매개변수가 2개인 경우: 첫 번째 매개변수는 시작 위치, 두 번째 매개변수는 값을 나타냅니다. 찾을 수 있습니다.

코드 복사 코드는 다음과 같습니다.

var 숫자=[1,2,3,4,5,4,3,2,1];
경고(숫자.indexOf(4));//3
경고(numbers.lastIndexOf(4));//5

alert(numbers.IndexOf(4,4));//5
경고(숫자.lastIndexOf(4,4));//3

반복 방법: Every(), filter(), forEach(), map(), some()

ECMAScript5는 IE9, Firefox 2, Safari 3, Opera 9.5, Chrome 등 브라우저를 지원하는 방법을 제공합니다

every(): 배열의 각 항목에 대해 주어진 함수를 실행하고, 함수가 각 항목에 대해 true를 반환하면 true를 반환합니다.

filter(): 배열의 각 항목에 대해 지정된 함수를 실행하고 함수가 true를 반환하는 항목 배열을 반환합니다.

forEach(): 배열의 각 항목에 대해 지정된 함수를 실행합니다. 이 메서드에는 반환 값이 없습니다.

map(): 배열의 각 항목에 대해 지정된 함수를 실행하고 각 함수 호출의 결과로 구성된 배열을 반환합니다.

some(): 배열의 각 항목에 대해 지정된 함수를 실행하고 함수가 항목에 대해 true를 반환하면 true를 반환합니다.

위 함수 중 어느 것도 배열에 포함된 값을 수정하지 않습니다.

코드 복사 코드는 다음과 같습니다.

var 숫자=[1,2,3,4,5,4,3,2,1];
//모두()
var EveryResult=numbers.every(function(item,index,array){
반품(항목>2)
})
경고(everyResult);//false
//일부()
var someResult=numbers.some(function(item,index,array){
반품(항목>2)
})
경고(someResult);//true
//필터()
var filterResult=numbers.filter(function(item,index,array){
반품(항목>2)
})
경고(filterResult);//[3,4,5,4,3]

//지도()
var mapResult=numbers.map(function(item,index,array){
반품(항목*2)
})
경고(mapResult);//[2,4,6,8,10,8,6,4,2]

//forEach()
숫자.forEach(함수(항목,색인,배열){
//반환값 없이 연산 수행
})

병합 메서드: Reduce(), ReduceRight()

ECMAScript5는 IE9, Firefox 3, Safari 4, Opera 10.5, Chrome 등 브라우저를 지원하는 방법을 제공합니다

두 방법 모두 배열의 모든 항목을 반복한 다음 최종 반환 값을 구성합니다. Reduce() 메서드는 배열의 첫 번째 항목부터 시작하고, ReduceRight() 메서드는 배열의 끝부터 시작합니다.

코드 복사 코드는 다음과 같습니다.

var 값=[1,2,3,4,5];
var sum=value.reduce(function(prev,cur,index,array){
           이전 현재;
});
경고(합계);//15

위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

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