Javascript 배열 사랑(1)-기본 소개

2905 단어 배열자바 script
자바 script 은 신기 한 언어 로 배열 도 독특 하 다.우 리 는 찌꺼기 를 제거 하고 정 수 를 취하 여 자주 사용 하 는 가장 좋 은 실천 을 총 결 해 야 한다.잘못 이 있 으 면 지적 해 주세요.
javascript 배열 은 배열 의 대상 으로 대상 의 특성 을 가지 고 있 습 니 다.속성 명 이 작고 연속 적 인 정수 일 때 배열 을 사용 해 야 합 니 다.그렇지 않 으 면 대상 을 사용 해 야 합 니 다.
배열 원본
모든 배열 은 Array 로 구성 되 어 있 습 니 다.constructor 라 는 속성 을 테스트 해 보 겠 습 니 다.
var arr = [];
arr.constructor === Array; // true
arr.constructor === Array.prototype.constructor; // true

배열 만 들 기
//       
var arr1 = [1, 2, 3]; // [1,2,3]

//      
var arr2 = new Array();        // []    
var arr3 = new Array('9');     // ["9"]        
var arr4 = new Array(9);       // []     length 9
var arr5 = new Array([9]);     // [[9]]        
var arr6 = new Array(1, 2, 3); // [1, 2, 3]
var arr7 = new Array(1, function f(){}, {o : 6}, null,undefined,true);
//               

arr 4 방식 으로 하나의 디지털 매개 변수 만 Array 의 구조 함수 에 전달 되면 구조 함 수 는 length 속성 을 설정 한 빈 배열 로 되 돌아 갑 니 다.그래서 짧 고 간결 하 다.
검사 대상 이 배열 인지 여부
var arr1 = [1, 2, 3];
typeof(arr1); // object


type:of 는 유형 을 정확하게 감지 할 수 없다 는 것 은 잘 알려 져 있 습 니 다.
arr1 instanceof Array; //true

instanceof 방식 은 한 웹 페이지 에 문제 가 없습니다.다른 웹 페이지 를 끼 워 넣 으 면 두 개의 전역 역할 영역 이 존재 합 니 다.서로 호출 할 때 검 측 에 문제 가 발생 합 니 다.
Array.isArray(arr1); // true

Array.isArray()는 ECMAScript 5 에 추 가 된 방법 으로 결함 이 없습니다.유일한 문 제 는 ie8 브 라 우 저가 지원 하지 않 고 ie9 브 라 우 저가 엄격 한 모드 에서 도 지원 하지 않 는 다 는 것 이다.
Object.prototype.toString.apply(arr1).slice(8, -1); // Array

마지막 방법 은 유형 을 검사 하 는 가장 좋 은 방법 이다.
배열 길이
배열 의 length 도 속성 입 니 다.length 를 늘 려 도 크로스 오 류 는 발생 하지 않 습 니 다.length 값 은 배열 의 최대 정수 속성 명 에 1 을 추가 하 는 것 과 같 습 니 다.
var arr1 = [];
arr1[9] = 1; //    10,          

작은 값 을 설정 하면 속성 명 이 length 보다 큰 속성 을 삭제 합 니 다.length 값 을 0 으로 설정 하면 배열 을 비 우 는 것 과 같 습 니 다.
var arr2 = [1, 2, 3, 4, 5];
arr2.length = 3; // [1, 2, 3]
arr2.length = 0; // []

배열 옮 겨 다 니 기
배열 을 옮 겨 다 니 며 for in 을 사용 하지 마 십시오.for in 은 원형 체인 의 모든 속성 을 옮 겨 다 니 기 때 문 입 니 다.그러나 우 리 는 이렇게 많이 필요 하지 않 습 니 다.for 순환 방식 을 추천 합 니 다.
var arr1 = [1, 2, 3];
arr1.test = 9;

//for in   
for(var prop in arr1){
    cosole.log(prop, arr1[prop]);
}
//     
// 0 1
// 1 2
// 2 3
// test 9

//for    
for(var i = 0, len = arr1.length; i < len; i++){
    console.log(arr1[i]);
}
//    
// 1
// 2
// 3

우 리 는 for in 방식 이 test 값 을 하나 더 내 는 것 을 보 았 습 니 다.4.567914.함 수 를 사용 하여 제거 할 수 있 지만 그것 은 for 순환 방식 보다 훨씬 느 릴 것 입 니 다.캐 시 배열 의 길 이 는 필요 합 니 다.매번 방문 할 때마다 성능 이 있 습 니 다(최신 브 라 우 저 는 이 방면 에서 최적화 되 었 습 니 다).
작은 매듭
Array 에 관 한 기초 지식 을 간단하게 소개 한 만큼 Array 에 대해 더욱 전면적으로 이해 할 수 있 는 셈 이다.다음 편 은 Array 의 방법 을 소개 합 니 다.
Javascript 은 이해 하기 어 려 운 부분 이 많 지만 장시간 공부 하면 서 저 는 점점 사랑 하 게 되 었 습 니 다.

좋은 웹페이지 즐겨찾기