>  기사  >  웹 프론트엔드  >  배열에 대한 일반적인 자바스크립트 연산 코드 배열 방법 요약_자바스크립트 기술

배열에 대한 일반적인 자바스크립트 연산 코드 배열 방법 요약_자바스크립트 기술

WBOY
WBOY원래의
2016-05-16 18:11:31841검색
1. 이동: 원래 배열의 첫 번째 항목을 삭제하고 삭제된 요소의 값을 반환합니다. 배열이 비어 있으면 정의되지 않은 값을 반환합니다.
var a = [1,2,3,4, 5];
var b = a.shift(); //a: [2,3,4,5] b: 1
2. unshift: 원래 배열의 시작 부분에 매개변수를 추가합니다. 그리고 배열의 길이를 반환합니다.
var a = [1,2,3,4,5]
var b = a.unshift(-2,-1); -2,-1,1 ,2,3,4,5] b: 7
참고: IE6.0에서는 테스트 반환 값이 항상 정의되지 않으며, FF2.0에서는 테스트 반환 값이 7이므로 이 메서드의 반환 값은 신뢰할 수 없으므로 사용해야 합니다. 값을 반환할 때 이 메서드 대신 splice를 사용할 수 있습니다.
3. pop: 원래 배열의 마지막 항목을 삭제하고 삭제된 요소의 값을 반환합니다. 배열이 비어 있으면 정의되지 않은 값을 반환합니다.
var a = [1,2, 3,4,5 ];
var b = a.pop(); //a: [1,2,3,4] b: 5
4. push: 끝에 매개변수를 추가합니다. 원래 배열을 반환하고 배열의 길이
var a = [1,2,3,4,5]
var b = a.push(6,7) //a : [1,2,3, 4,5,6,7] b: 7
5. concat: 원래 배열에 매개변수를 추가하여 형성된 새 배열을 반환합니다.
var a = [1,2, 3,4,5];
var b = a.concat(6,7) //a:[1,2,3,4,5] b:[1, 2,3,4,5, 6,7]
6. splice(start,deleteCount,val1,val2,...): 시작 위치에서 deleteCount 항목을 삭제하고 val1, val2,를 삽입합니다. ..
var a = [1,2,3,4,5]
var b = a.splice(2,2,7,8,9) //a: [1 ,2,7 ,8,9,5] b:[3,4]
var b = a.splice(0,1); //shift와 동일
a.splice(0,0,- 2,-1) ; var b = a.length; //unshift와 동일
var b = a.splice(a.length-1,1); //pop과 동일
a.splice(a .length,0,6, 7); var b = a.length; //푸시와 동일
7. 역방향: 배열의 순서를 반대로 합니다.
var a = [1, 2,3,4,5];
var b = a.reverse(); //a: [5,4,3,2,1] b: [5,4,3,2,1]
8. sort(orderfunction): 지정된 매개변수에 따라 배열을 정렬합니다.
var a = [1,2,3,4,5]
var b = a.sort (); //a: [1, 2,3,4,5] b: [1,2,3,4,5]
9.slice(start,end): 지정된 시작을 반환합니다.
var a = [1,2,3,4,5]
var b = a.slice(2, 5); //a: [1, 2,3,4,5] b: [3,4,5]
10.join(separator): 배열의 요소를 문자열로 결합합니다. 구분 기호로 구분 기호를 사용합니다. 기본적으로 쉼표가 구분 기호로 사용됩니다.
var a = [1,2,3,4,5]
var b = a.join(" |"); //a: [1,2 ,3,4,5] b: "1|2|3|4|5"
배열은 자바스크립트에서 제공하는 내부 객체입니다. 표준 컬렉션입니다. 추가(푸시) 및 삭제(시프트)가 가능합니다. for 루프를 통해 내부 요소를 순회할 수도 있으므로 JavaScript에서 배열 외에 다른 컬렉션을 가질 수 있나요?
JavaScript의 언어 기능으로 인해 동적으로 추가할 수 있나요? 일반 객체에 대한 속성을 삭제합니다. 따라서 Object는 JS의 특별한 컬렉션으로 간주될 수도 있습니다. Array와 Object의 특징을 비교해 보겠습니다.
Array:
New: var ary = new Array(); or var ary = []
Add: ary.push(value); :delete ary[n];
순회: for ( var i=0 ; i < ary.length ; i ) ary[i]
 Object:
새로운 기능: var obj = new Object() ; 또는 var obj = {};
추가: obj[key] = value; (키는 문자열)
삭제: obj[key]
트래버스: for ( var key in obj ) key];
위의 비교를 통해 Object를 컬렉션으로 사용할 수 있음을 알 수 있습니다. 팝업 창을 사용하여 무한한 웹 페이지 메뉴를 생성할 때(3) Eric이 구현한 __MenuCache__도 소개했습니다. a 조롱된 컬렉션 개체입니다.
배열에서 지정된 값을 검색하려면 전체 배열을 순회해야 합니다.
코드:

코드 복사 코드는 다음과 같습니다.
var 키워드 = ;
 for ( var i=0 ; i < ary.length ; i )
 {
  if ( ary[i ] == 키워드 )
 {
 // todo
 }
 }

  Object에서 지정된 키를 사용하여 항목을 검색하려면 다음만 수행하면 됩니다. 사용 :
코드:

코드 복사 코드는 다음과 같습니다.
var key = ''; var 값 = obj[key]
 // todo


Object의 이 기능을 사용하면 고유 문자열 컬렉션을 효율적으로 검색할 수 있습니다. 배열 순회 시간 복잡도는 O(n)인 반면, Object 순회 시간 복잡도는 O(1)입니다. 10,000개의 컬렉션을 검색하는 데 드는 비용은 수십 ms에 불과하지만 1,000*1,000개 이상의 검색을 수행하면 Object를 사용하는 것의 이점이 즉시 드러납니다. 그 전에는 100개의 고유 문자를 1000개의 문자열 배열로 매핑하는 작업을 수행했는데, 이 작업에는 25~30초가 걸렸습니다! 나중에 탐색용을 개체 시뮬레이션 컬렉션의 멤버 참조로 변경했고 동일한 양의 데이터가 매핑되었습니다. 1.7~2초만 소요됩니다!!!
컬렉션의 순회 효율성(높은 수준에서 낮은 수준으로): var value = obj[key] > for ( ; ; ) > 가장 효율적인 방법은 for(in)입니다. 컬렉션이 너무 크면 for(in)을 사용하여 순회하지 마세요.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.