개인 맞 춤 형 javascript 의 배열 지식 포인트 (Only For Me)
5370 단어 JavaScript
배열 의 개념
javascript 배열 은 질서 있 게 집합 할 수 있 지만 자바 script 대상 의 특수 한 형식 에 속 합 니 다. 이것 은 매우 중점 적 인 정성 입 니 다.
배열 만 들 기
1.var a=new Array();//같다
2.var a=new Array(10); //길이 지정 배열
3.var a=new Array(1,2,“marry you”);
4.var a=[];
배열 은 동적 인 것 입 니 다. 먼저 배열 은 [] 를 통 해 배열 요 소 를 방문 할 수 있 습 니 다. 이 문법 을 사용 하면 배열 을 읽 고 쓸 수 있 습 니 다. 그 중에서 [] 내 에 있 는 것 은 232 비 마이너스 정수 가 속성 명 일 때 배열 은 자동 으로 length 를 유지 합 니 다.먼저 배열 의 색인 과 대상 의 속성 명 을 뚜렷하게 구분 하고 모든 색인 은 속성 명 이지 만 0 ~ 232 - 2 사이 의 정수 속성 명 만 색인 이다.
모든 배열 은 대상 입 니 다. 배열 대상 에 게 임의의 이름 의 속성 을 만 들 수 있 습 니 다.그러나 사용 하 는 속성 이 배열 의 색인 이 라면 배열 의 특수 행 위 는 length 속성 값 을 업데이트 해 야 합 니 다.
이것 은 javascript 배열 의 '경계 넘 기' 오류 개념 을 바로 잡 을 것 입 니 다. 배열 색인 이 길 이 를 초과 하면 오류 가 발생 하지 않 고 undefined 값 만 되 돌려 줍 니 다.
희소 수조 와 조밀 수조
개념 은 0 에서 시 작 된 불 연속 색인 을 포함 하 는 배열 입 니 다.length 속성 치가 원소 의 개수 보다 크다 는 것 도 이해 할 수 있다.그러면 정상 적 인 조밀 한 배열 보다 메모리 이 용 률 이 높 지만 검색 효율 은 거의 일치 합 니 다.
이 때 는 in 으로 측정 할 수 있 습 니 다.
var a1=[,,,];
0 in a1//false
배열 요소 의 추가 와 삭제
가장 간단 한 삭제 방식 은 var a = [1, 2, 4] 이다.a.length=0;
마찬가지 로 Object. defineProperty () 로 배열 length 속성 을 읽 기 전용 으로 바 꿀 수 있 습 니 다.
var a=[1,2,4];
Object.defineProperty(a,"length",{writable:false});
a.length=0;
console.log(a);
//[1, 2, 4]
push (1, 3, 4, 5, 7) / / 여러 요 소 를 한꺼번에 추가 할 수 있 습 니 다.
delete a [1] 는 배열 a 의 length 속성 을 수정 하지 않 습 니 다. 요소 위치 에 undefined 값 을 부여 하 는 것 과 같 습 니 다. 그러면 배열 을 바 꾸 는 것 도 희소 한 배열 이 됩 니 다.그래서 pop () 을 사용 해 야 합 니 다. 이 함 수 는 삭 제 된 요 소 를 되 돌려 줍 니 다.
배열 옮 겨 다 니 기
배열 을 옮 겨 다 니 며 for / in 또는 for 를 사용 합 니 다.전 자 를 옮 겨 다 니 는 것 은 일정한 순서 가 없 기 때문에 foreach (ECMAScript 5 에 추 가 된 함수) 나 for 로 대체 할 수 있 으 며, 동시에 옮 겨 다 니 는 것 이 가장 좋 은 캐 시 배열 길이 입 니 다. 예 를 들 어
for(var i=0,alength=a.length;i++){
//
}
for(var i in a){
if(!a.hasOwnProperty(i)){
continue; //
//
}
}
배열 의 방법
일반적인 방법 으로 는 join () / reverse () / ort () / concat () / slice () / splice () / push () / pop () / unshift () / shift () / toString () / toLocalString () 이 있 습 니 다.
만약 당신 이 이상 에 대해 모두 알 고 있다 면, 나 는 그래도 그 중의 한 방법 을 말 하고 싶 습 니 다.
정렬 을 사용 하면 sort 가 빠 질 수 없습니다. 문자 에 따라 정렬 합 니 다. 숫자 를 만 나 거나 처 리 된 문자 에 대해 정렬 을 하면 어떻게 합 니까?
sort () 이 방법 은 익명 함 수 를 매개 변수 로 전송 할 수 있 습 니 다. 이 익명 함 수 는 우리 의 특수 한 요 구 를 만족 시 킬 수 있 습 니 다.
a=['a',"bug","Good","ccc"];
a.sort(function(s,t){
var a=s.toLowerCase();
var b=t.toLowerCase();
if(a<b) return -1;
if(a>b) return 1;
return 0;
});
//["a", "bug", "ccc", "Good"]
ECMAScript 5 에 배열 방법 추가
foreach () / / 배열 을 옮 겨 다 니 며 순서대로 출력 합 니 다. break 하려 면;트 리 캐 치 로 보조 해 야 지.
map()// a=[1,2,3]; a.map(function(x){return x*x;}) //[1,4,9];
filter()//a=[5,3,4,5,6]; a.filter(function(x,i){return i%2==0});//[4,6]
every () / some () / reduce () / reduceRigth () / index Of () / lastIndex Of () 등 모 르 면 골 형 이 죠.
한 가지 말씀 드 리 고 싶 은 것 은 문자열 의 행동 이 배열 과 유사 하 다 는 사실 입 니 다.
예 를 들 면:
Array.prototype.filter.call("javascript",function(x){return x.match(/[^aeiou]/);}).join("");
//"jvscrpt"
종결 어
간단하게 말하자면 수조 가 보 여 준 많은 것들 의 본질은 사실 그것 이 대상 이기 때문에 결 정 된 것 이다.배열 의 대부분 방법 은 통용 된다. 이것 은 배열 대상 뿐만 아니 라 '클래스 배열 대상 에 도 효과 가 있다 는 것 을 의미한다. 예 를 들 어 문자열 행 위 는 문자 배열 과 유사 하 다. 괜찮다 고 생각한다 면 추천 하 자.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.