JS—배열

巴扎黑
풀어 주다: 2016-12-06 11:20:02
원래의
1442명이 탐색했습니다.

Array(배열 객체)
Array는 객체입니다. 배열은 순서가 지정된 값 모음입니다. 각 값을 요소라고 하며(모든 유형 가능) 각 요소는 배열에서 인덱스(0-232-2)라는 숫자로 표시되는 위치를 갖습니다.
1. 배열 만들기
1. 배열 리터럴 사용(직접 수량)
varempty=[];//빈 배열
var misc=[1.1,true,"a",[1 ,{x:1,y:2}]];//요소 유형이 다릅니다
var count=[1,,2];//요소가 3개이고, 중간에 생략된 값은 정의되지 않습니다
var undefs =[,,];//2개의 요소가 있지만 3개로 구문 분석되므로 이렇게 하지 마세요.
2. 생성자 Array()를 호출합니다.
var a=new Array();//빈 배열과 동일한 매개변수 없음
var a=new Array(10); //길이가 10인 배열을 지정합니다.
var a=new Array(10, 4, " hhhh"); //배열 요소를 지정하지만 리터럴 방식을 직접 사용하는 것은 좋지 않습니다.
2. 배열 요소 읽기 및 쓰기
var arr=[1,2,3,4,5 ];
arr[1];//배열의 첫 번째 요소 1개 요소 - 2
arr[5]=6; //5번째 요소를 동적으로 추가(재정의할 필요 없음) - 6
delete arr[0]; 첫 번째 요소를 삭제하지만 이때 배열의 길이는 여전히 6이고 첫 번째 요소는 정의되지 않습니다
3. 희소 배열
희소 배열은 불연속적인 인덱스를 포함하는 배열입니다. 0부터 시작합니다. 일반적으로 길이 속성 값은 실제 요소 수보다 큽니다.
var arr1=[undefine];
var arr2=new Array(1);//var arr2=[,]; 0 in arr1; // true를 반환합니다.
0 in arr2; // false를 반환합니다. 인덱스 0에 요소가 없습니다.
4. 배열 속성
length: arr1.length ;
5. 배열 탐색
for(var i=0;i6. 다차원 배열
arr[][]

//다차원 배열 만들기
var table=new Array(10);//테이블에 10개의 행이 있습니다.
for(var i=0;i 테이블 [i]=new Array(10); // 각 행에는 10개의 열이 있습니다.
//배열 초기화
for(var row=0;rowfor(var col=0;coltable[row][col]=row*col
}
}
//다차원 배열 계산 사용
var product=table[5][7];//결과는 35
7. 배열 방식




1.join()
모든 요소 변환 배열에서 문자열로 연결하고 문자열을 반환하면 요소를 구분하기 위해 구분 기호를 지정할 수 있습니다. 지정하지 않으면 요소는 기본적으로 ","로 구분됩니다.
var arr=[1,2,3];
arr.join();//”1,2,3”
arr.join(“_”);//”1_2_3”


2.reverse()
배열의 요소 순서를 반대로 바꾸고 역배열을 반환하면 원래 배열이 수정됩니다.
var arr=[1,2,3] ;
arr .reverse();//[3,2,1]




3.sort()
배열의 요소를 정렬하고 반환합니다. 정렬된 배열 및 원래 배열이 수정됩니다. 요소가 정의되지 않은 경우 끝까지 정렬됩니다.
arr=["a","c","b"]
arr.sort();//["a","b ", "c"] 이 메소드를 매개변수 없이 호출하면 요소가 알파벳순으로 정렬됩니다.

arr=[13,24,51,3];
arr.sort();// [13, 24,3,51] 숫자를 문자열로 변환하고 비교합니다. 각 숫자의 첫 번째 숫자는 작은 것부터 큰 것 순으로 정렬됩니다.

arr.sort(function(a,b){
return a-b;/ /순서에 따라 [3,13,24,51]
})

arr.sort(function(a,b){
return b-a;// 역순, [51,24, 13,3]
})



4.concat()
배열을 병합하면 원래 배열은 수정되지 않습니다.

var arr=[1,2 ,3];
arr.concat(4,5);//[1,2,3,4,5]
arr.concat([4,5 ],6);//[1, 2,3,4,5,6] 매개변수가 배열인 경우 배열은 평면화됩니다.
arr.concat(4,[5,[6,7]] );//[1,2,3,4, 5,[6,7]] 매개변수가 배열이고 배열 요소가 여전히 배열인 경우 배열은 두 번 평면화되지 않습니다.




5.slice()
지정된 A 조각 또는 배열의 하위 배열을 반환합니다. 해당 두 매개 변수는 조각의 시작 및 끝 위치를 각각 지정합니다. 일반적으로 왼쪽이 닫히고 오른쪽이 됩니다. -개방 간격. 원래 배열은 수정되지 않았습니다.

var arr=[1,2,3, 4,5]
arr.slice(1,3);//[2,3 ]
arr.slice(1);//[2,3,4,5]에는 매개변수가 하나만 있습니다. 이 매개변수는 시작 위치로 간주되며 끝 위치는 배열의 끝입니다.
arr .slice(1,-1);//[2,3,4] 음수는 배열의 마지막 요소를 기준으로 한 위치를 나타내고, -1은 이 요소 5를 나타냅니다.
arr.slice(-4,-3 );//[2]




6.splice()
삽입 또는 요소가 삭제되고 원래 배열이 수정됩니다.

var arr= [1,2,3,4,5]
arr.splice(2);//[3,4,5]는 두 위치의 첫 번째 요소부터 끝까지 삭제됩니다.

arr. splice(2,2);//[3,4] 두 번째 매개변수는 삭제할 요소 수를 나타냅니다. 즉, 두 번째 위치부터 두 요소를 삭제합니다. Element

arr.splice(1,1 ,"a","b"); //[2] 첫 번째 위치에서 요소를 삭제하고 "a" 및 "b"를 삽입합니다.
arr;//[1, “a”, “b”,3 ,4,5]



7.push() 및 pop()
배열을 스택으로 사용하면 원래 배열이 수정됩니다.
push()는 배열 끝에 하나 이상의 요소를 추가하고 배열의 새 길이를 반환합니다.
pop()은 배열의 마지막 요소를 삭제하고 배열의 길이를 줄이고 삭제된 요소를 반환합니다. value

var stack=[];
stack.push(1,2);//배열 길이 2를 반환
stack.pop();//삭제된 요소 2를 반환 end



8.unshift() 및 Shift()
unshift()는 배열의 헤드에 하나 이상의 요소를 추가하고 배열의 새 길이를 반환합니다.
shift()는 배열의 첫 번째 요소를 삭제하고 삭제된 값을 반환합니다.

var arr=[]
arr.unshift(2);//배열 길이 1을 반환합니다.
arr.unshift; (22);//배열 길이 2를 반환, 이때 arr= [22,2]
arr.shift();//머리가 삭제된 요소를 반환 22




9.toString() 및 toLocaleString()
toString()은 배열을 ","로 구분된 문자열로 변환합니다.
toLocaleString()은 배열을 문자열로 변환하고 지역화된 구분 기호를 사용합니다.

[1,[2,"c ”]].toString()//“1,2,c” 반환





8 . ECMAScript5의 배열 메서드
ECMAScript5는 배열을 순회, 매핑, 필터링, 감지, 단순화 및 검색하는 9개의 새로운 배열 메서드를 정의합니다.

1.forEach()
배열 순회, 매개변수는 함수입니다. 이 함수는 요소, 인덱스, 배열 자체라는 3개의 매개변수를 사용하여 호출할 수 있습니다.

var arr=[1,2,3,4,5];
var sum=0;
arr.forEach(function(value){
sum+=value; 배열하고 각 값을 합계에 추가합니다
sum;//15

arr.forEach(function(v,I,a){ //3개의 매개변수로 호출 이 함수: 요소 , 인덱스, 배열 자체
a[i]=v+1;
})



PS: 이 방법은 for처럼 순회를 조기에 종료할 수 없습니다. try 블록에서
function foreach(a,f,t){
try{
a.forEach(f,t)
}catch(e){
if(e= =foreach.break)return;
else throw e;
}
}
foreach,break=new Error(“StopIteration”);      

2.map() >배열 매핑, 원래 배열이 수정되지 않았습니다.

var arr=[1,2,3]
arr.map(function(x){
return x+10;
});//Return [11,12,13]



3.filter()
배열 필터링, 원래 배열은 수정되지 않았으며, 반환된 배열은 항상 밀집

var arr=[1,2,3,4,5,6,7,8,9,10]
arr.filter(function(x,index ){
return index%3==0||x>=8;
});//[1,4,7,8,9,10]

4.every( ) 및 some()
배열의 논리적 판단은 true 또는 false를 반환하고, 반환되어야 하는 값이 확인되면 배열 순회를 중지합니다.
every()는 모든 요소가 호출될 때만 논리 "AND"와 동일합니다. 판단 함수는 true를 반환하기 전에 true를 반환합니다.
some()은 논리 "OR"과 동일합니다. 하나 이상의 요소가 판단 함수를 호출하고 true를 반환하면 true를 반환합니다.

var arr=[1, 2,3,4 ,5];
arr.every(function(x){
return x<10;
});//true
arr.every(function(x){
return x});//false

var arr=[1,2,3,4,5]
arr.some(function(x){
return x ==3;
});//true
arr.every(function(x){
return x==10;
});//false

PS :빈 배열에서 호출되는 경우. Every()는 true를 반환하고 some()은 false를 반환합니다

5.reduce() 및 ReduceRight()
지정된 함수를 사용하여 배열 요소를 결합하여 단일 값을 생성하며 원래 배열은 수정되지 않습니다.
Reduce()에는 두 개의 매개변수가 있습니다. 첫 번째는 축소 작업을 수행하는 함수입니다. 두 번째 선택적 매개변수는 함수에 전달되는 초기 값입니다.
ReduceRight()의 축소 작업은 오른쪽에서 왼쪽으로 이루어집니다. 나머지는 Reduce()와 동일

var arr=[1,2,3]
var sum=arr.reduce(function(x,y){
return과 동일 x+y;
}, 0);//6을 반환합니다. 즉, 왼쪽에서 오른쪽으로 0+1=1, 1+2=3, 3+3=6

var sum= arr.reduceRight(function(x,y){
return x+y;
});//6을 반환합니다. 즉, 오른쪽에서 왼쪽으로 3+2=5,5+1=6
6.indexOf() 및 lastIndexOf()
배열 검색, 발견된 첫 번째 요소의 인덱스를 반환하거나 없으면 -1을 반환합니다.
indexOf()는 처음부터 끝까지 검색합니다.
lastIndexOf()는 뒤에서 검색합니다. 앞으로

var arr=[ 1,2,3,2,1]
arr.indexOf(2);//요소 2의 인덱스를 찾아 1을 반환
arr.indexOf (4);//요소 4의 인덱스를 찾습니다. 존재하지 않기 때문에 -1을 반환합니다.
arr.indexOf(1,1);//요소 1의 인덱스를 찾아 첫 번째 위치부터 시작하여 4를 반환합니다.
arr.indexOf(1,-3);//요소 1의 인덱스를 찾습니다. 세 번째부터 마지막 ​​위치까지, 4를 반환합니다.
arr.lastIndexOf(2,-2);//요소 2의 인덱스를 찾습니다. , 끝에서 두 번째 숫자부터 검색을 시작하고 뒤에서 앞으로 검색하여 3을 반환합니다.


9. 배열 유형
Array.isArray([]);//true
Array .isArray({});//false

[]instanceof Array;//true
({})instanceof Array;//false

({}).toString. apply([ ])===”[객체 배열]”;//true

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿