JavaScript 배열


  Share  
|


때문에 각 개체의 속성 자체의 이름과 값을 갖는 속성의 컬렉션, 배열을 실제로 자바 스크립트 개체입니다. 배열에 각 속성은 요소, 그리고 각 요소에 값을 할당할 수있습니다. 생각하는 한 가지 방법은 숫자 배열의 변수의 컬렉션이다.

자바 스크립트에서 배열 원소에 값을 할당에 대한 다음과 같은 일반적인 형식이다 :

  sampleArr [0] = 1;  
  sampleArr [1] = "아이스크림";  
  sampleArr [2] = 55 * (7 + 알파);  
  sampleArr [3] = shootTheMoon (73);  
  sampleArr [4] = otherArr [7]; 

또는

  sampleArr = 새 Array (1, "아이스크림", (55 * (7 + 알파)), shootTheMoon (73),  
  otherArr [17]); 

또는, 자바 스크립트 1.2 또는 나중에 :

  sampleArr = [1, "아이스크림", (55 * (7 + 알파)), shootTheMoon (73), otherArr [17]]; 

셋 모두 배열, 데이터 할당을위한 다른 방법을 사용하여 동일합니다. 첫 번째 방법은 같은 변수 - 배열의 특성을 보여주는 두 번째 방법은 두 가지 이상의 개체, 배열을 표시했다.

자바 스크립트에서 배열 요소를 0과 함께 시작하는 번호가 순차적으로 진행하거나 nonsequentially 수있습니다. 이전의 두 번째 예제에서는 첫 번째 요소는 0이고, 다른 데이터를 쉼표로 구분하여 순차적으로 번호가있습니다. 그러나, 배열에 다음과 같은 데이터 임무가 수 :

  alphaArr [0] = "우노";  
  alphaArr [7] = "도스";  
  alphaArr [345] = "tres"; 

일반적으로, 배열을 순차적으로 추가될 수 있도록 번호 및 루프를 사용하여 데이터를 추출합니다. 그러나 앞으로 어떤 순서로 배열 요소라는 변수처럼 사용할 수있습니다.

데이터와 데이터 형식 배열 원소로 지정할 수있는 데이터와 데이터 형식의 변수에 할당할 수있는 당신이 동일합니다. 당신은 또한 당신이 개체는 데이터의 동일한 종류를 지정할 수있습니다 발견할 것이다. (즉 배열 개체 이상으로 구성되어 있기 때문에 하나의 속성입니다.)

배열을 설정

배열 생성자를 사용하여 다른 개체처럼 만들어집니다. 배열 () 생성자는 다음과 같은 형식을 사용한다 :

  var 부품 = 새 Array (); 

자, 부품 배열 개체이고, 당신은 다음과 같은 형식으로 데이터를 추가할 수있습니다 :

  부품 [0] = "볼트";  
  부품 [1] = "미쳤다"; 

변수 선언과 마찬가지로, 당신은 배열 선언에 따라 데이터를 입력할 필요가없습니다,하지만 당신은 할 수있다. 예를 들어, 선언할 수 있으며 고밀도의 배열 () 생성자 : 배열을 사용하여 정의

  var 부품 = 새 Array ( "볼트", "열매", "세탁기", "나사"); 

또한 배열 차원의 인자를 사용하여 만들 수있습니다. 당신 앞에있는 경우 귀하의 배열에있는 요소에 얼마나 많은 시간을 알고, 당신은 그것을 선언하고 그것에 대한 차원을 동시에 설정합니다. (일부 언어에서, 특히 여성들, 당신은 배열에 대한 예비 메모리 배열에 대한 차원을 포함해야합니다.) 예를 들어, 만약 당신이 미국 상원의 배열을 만드는 경우와 당신이 겨우 100 상원 의원이 알고, 신고할 수 있고 차원으로 배열은 다음과 :

  var 상원 의원 = 새 Array (100); 

일단 선언하고 dimensioned,하지만 100 요소를 추가할 수있는 최초의 상원 의원이 될 것이다 :

  원로 [0] 

마지막이 될 것이다 :

  원로 [99] 

아직도 100 요소를 얻을,하지만 당신은 0 1 대신에 같이 시작해야합니다.

이 선언 차원의 인자를 사용하여 규칙이 울창한 배열에서 첫 번째 데이터 값 (하나는 데이터를 괄호 안에 포함되어있는) 요소를 0으로 간주됩니다에 예외가 아니다. 배열에 요소 0 선언 이후 처음으로 데이터를 할당됩니다. 예를 들어, 다음 선언 5 시에 첫 번째 차원 배열의 다음 7로 다음 라인에서 처음으로 배열 요소 (0) 입력 :

  var catWeights = 새 Array (5);  
  catWeights (7,15,34,52,60); 

5라는 값을 어떤 숫자 데이터 배열 요소의 값이 아닙니다. 그것은 배열의 길이, 0-4 요소에 이르기까지이다.

참고

나는 자바 스크립트의 버전 번호를 지정하지 않고 <script language="JavaScript"> 태그를 사용합니다. 당신은 버전 번호를 지정하는 자바 스크립트의 최신 버전을 다운로드 받을수 브라우저에서 지원이 필요하지 않습니다. <script를 지정하면 다음을 차원 배열 language="JavaScript1.2"> 시도했을 때, 당신은 벌레가 실행됩니다 넷스케이프 네비게이터 4 (NN4) 및 저장과 차원이 인수를 사용합니다. NN4 + 배열의 길이를 대신 배열에서 첫 번째 가치로 선언 차원의 가치를 함께 취급합니다. 예를 들어, 다음 스크립트를 시도 :

 <html>  
  의 <head>  
  <script language="JavaScript1.2">  
  var 테스트 = 새 Array (23)  
  는 document.write () test.length;  
  </ 스크립트>  
  </ 머리>  
  의 <body>  
  </ 몸>  
  </ html로> 

NN4 또는 저장을 사용하면 스크립트를 실행하면 1이 화면에 나타납니다. 만약 당신이 <script> 태그에서 1.2 속성을 제거, 반환된 값은 23, 올바른 길이입니다. 때문에 JavaScript 1.5를 그냥 넷스케이프 네비게이터 6에서 <script> 태그에서 버전 번호를 지정하지 않고 멋쟁이, Internet Explorer 용 버전 번호를 지정하지 않고도 운영 최신 버전을 실행하는 습관처럼 나는 모든 버전 번호를 밖으로 떠날 것을 선호합니다. 이 방법에서는 버그는 피할 수 있고 span 더 많은 자바 스크립트와 브라우저 버전.

JavaScript 1.2가 사용하는 배열을 선언하거나 나중에 배열 상수값라는 마지막 방법. 독립 선언서를 대신 괄호 및 괄호를 사용하여 배열 () 생성자가 필요하지 않습니다. 배열 개체의 이름은 단순히 그것을 괄호 안에 값을 지정하여, 다음 스크립트를 보여줍로 선언됩니다 :

 <html>  
  의 <head>  
  <script language="JavaScript">  
  var 별처럼 = [ "예", "아니오", "어쩌면"];  
  (별처럼 [document.write를 2]);  
  </ 스크립트>  
  </ 머리>  
  <body bgcolor=#face00>  
  </ 몸>  
  </ html로> 

별처럼는 리터럴 배열 변수 정의가 거의 같은, 아니 가치의 괄호 목록에 있었다. 배열 기호를 사용하지만, 몇 단계의 생성자를 사용합니다 절약할 수 없기 때문에 이전 버전의 브라우저 (자바 스크립트 1.2을 지원하기 전에) 배열로 이해가되지 않습니다.

배열의 속성과 메소드

개체로서, 배열, 그리고 여러 가지 방법을 하나의 속성, 길이있다. 그러나, 넷스케이프 네비게이터 4 5 방법을 도입 Array.pop (), Array.push (), Array.shift (), Array.unshift (), Array.splice (), 그 중 하나가 지원되지 않은 Internet Explorer 또는 EMCA - 262 표준입니다. 하지만 문제가 발생하지 않도록하려면 포함되고, 전 섹션의 사실들을 올바르게 구문 분석하지 않을 경우 사용자가 IE의 경고로 NN4 + 배열 방법에 놓여있다. 모든 자바 스크립트를 지원하지 않는 기능이 EMCA 기준과 마찬가지로, 난 둘 다 시청자 주요 웹 브라우저를 사용하는 웹 사이트를 만들기 위해이 방법을 사용하여 기대하지 않는 것이 좋습니다.

배열의 길이

단일 배열 길이 속성 배열에 요소의 수를 반환합니다. 루프를 사용했을 때, 루프에 대한 테스트 조건 배열의 길이 그래서 당신은 시험을위한 필요가없습니다 invariant 값을 사용하실 수있습니다. 형식은 다음과 같습니다 :

 Array.length 

재산을 쉽게 변수로, 다음 예제를 보여줍으로 전달된다 :

  var 개들이 = 새 Array ( "비글", "테리어", "콜리", "똥개");  
  var 왕바랭이 무리 = dogs.length; 

때문에 메이크업의 4 가지 원소를 배열 변수 왕바랭이 무리 4의 길이를 가지고있다. 길이 속성이 문자의 수를 그 배열의 요소를 만드는 것이 아닙니다,하지만 요소의 수를 스스로를 말합니다. 따라서, 다음과 배열, 비록 더 많은 문자가 첫 번째 예제에서 4의 길이를 함께 사용하는 것보다 2의 길이있다 :

  var 개들이 = 새 Array ( "그레이터 스위스 마운틴 도그", "울프 게일어"); 
배열의 요소 Concatenating : 조인 (), toString (), concat ()

Array.join () 메소드는 배열에있는 모든 요소의 값이의 소요와 하나의 큰 문자열을 만듭니다. 예를 들어, 다음 스크립트를 사용해 :

joinArray.html
 <html>  
  의 <head>  
  <script language="JavaScript">  
  var 나무 = 새 Array ( "느릅나무", "파인", "오크");  
  var bigBush = trees.join ();  
  (bigBush)는 document.write;  
  </ 스크립트>  
  </ 머리>  
  <body bgcolor=#ace007>  
  </ 몸>  
  </ html로> 

결과를 인용 부호는 마이너스 배열의 내용, 느릅나무, 소나무, 참나무 당신을 보이고있다.

Array.join () 메서드는 인수를 허용 구분 기호 역할을합니다. 조인에 뭐든 위 ()을 인용 부호 안에 괄호 콤마를 대체합니다. 예를 들어,이 줄을 변경 :

  var bigBush = trees.join (); 

으로

  var bigBush = trees.join ( ""); 

그럼, 또 다른 결과에 대한 스크립트를 실행합니다. 두 번째 결과는 느릅나무와 소나무와 떡갈나무가없습니다.

자바 스크립트 1.1에서 오래된 방법은 Array.join ()과 유사한 방식이다 Array.toString ().toString () 방식으로 가입과 동일한 결과를 생성 (),하지만 당신은 할 수 합류와 같은 요소 사이의 연결 문자를 지정할 수없습니다 ().

세 번째 방법으로 배열에 문자열 요소를 concatenating 사용 Array.concat이다 (). 뿐만 아니라 concat () 메소드를 기존의 모든 요소를 함께 않지만, 그것도 concat의 요소를 () 인수를 추가합니다. 예를 들어, 약간 joinArray.html 스크립트를 변경하여, 당신은 어떻게 작동하는지 볼 수있습니다.

concatArray.html
 <html>  
  의 <head>  
  <script language="JavaScript">  
  var 나무 = 새 Array ( "느릅나무", "파인", "오크");  
  var biggerBush = trees.concat ( "단풍", "시커모");  
  var bigBush = trees.join ();  
  (biggerBush)는 document.write;  
  경보 (bigBush);  
  </ 스크립트>  
  </ 머리>  
  <body bgcolor=#ace007>  
  </ 몸>  
  </ html로> 

the concatArray.html 스크립트의 매우 중요한 부분은 그 Array.concat () 메소드는 배열의 내용을 변경하지 않으면 볼 수있다. 배열은 여전히 나무라는 세 가지 요소에만있다. 그 사실은 경고 메시지가 단 3 요소, 비록 변수 bigBush the biggerBush 변수가 정의된 후에 정의를 보여줍함으로써 입증하고 단풍과 믹스 시커모 데이터 덧붙였다. 배열 요소를 추가하려면, 당신이라는 요소에 새로운 값을 할당합니다. 예를 들어, 당신이 쓸 수있다 : 단풍과 데이터를 포함하는 배열을 시커모

  나무 [3] = "단풍"; / / 네 번째 요소는 3 이후 처음으로 0입니다  
  나무 [4] = "시커모"; 
배열의 순서를 변경 : 일종의 () 및 역방향 ()

배열 요소의 순서를 변경하려면 두 가지 방법을 사용할 수있습니다. 첫 번째 종류의 문자열 배열 요소를 알파벳 순으로, 그리고 두 번째 순서를 뒤집는.

Array.sort () 메소드를 매우, 특히 문자열을 사용하면 간단하다. 모든 배열의 문자열을 입력한 후, 당신은 단지, 배열과 메서드의 이름을 입력 가나다순으로 배열 명령입니다. 다음 예제는 두 종류의 방법 () 메소드와 작품 루프 성명과 함께 배열 요소를 추출하는 방법을 보여줍니다.

sortArray.html
 <html>  
  의 <head>  
  <script language="JavaScript">  
  var 동물원 = 새 Array ( "얼룩말", "사자", "", "호랑이") 원숭이;  
  zoo.sort ();  
  var newZoo = "";  
  = 0; 카운터 <; 카운터 + +) zoo.length (var 카운터위한 ( 
  newZoo + = (동물원 [카운터] + "의 <br>");  
  )  
  ( "<p> 알파벳순 동물 <p>"+ newZoo)는 document.write;  
  </ 스크립트>  
  </ 머리>  
  <body bgcolor="lightsteelblue">  
  </ 몸>  
  </ html로> 

모든 가치의 알파벳 순서로 정렬됩니다.

원숭이

사자

호랑이

얼룩말

어떤 종류의 명령을 나열 들어, () 메서드는 편리한 도구 Array.sort 발견할 것이다.

Array.reverse () 메소드를 간단하게 배열에있는 데이터의 순서를 뒤집는. 첫 번째 요소는 마지막 요소가되고 배열에서뿐만 아니라 다른 모든 것들이 역전되었습니다. 예를 들어, 다음 :

  var majorCities = 새 Array ( "도쿄", "로스 앤젤레스", "파리", "베이징", "블룸")  
  marjorCities.reverse (); 

이 돌아올 것이라고 :

  블룸, 베이징, 파리, 로스 앤젤레스, 도쿄 

Array.sort를 사용하여 ()와 콘서트 ()에서, 당신을 변경할 수있습니다 오름차순과 내림차순으로 정렬 명령 목록의 Array.reverse.

압축 Subarrays : 슬라이스 ()

a subarray 사용 Array.slice 지정하려면 (). 슬라이스를 사용하는 일반적인 형태 ()이 여기에 표시됩니다 :

  ArrayName.slice (끝) 시작 

또는

  ArrayName.slice (끝) 시작 

예를 들어, 이러한 진술을해야하는 경우 :

  컴퓨터 = [ "델", "게이트웨이", "애플", "IBM은", "HP는"];  
  computer.slice (2,4); 

수익이 될 것이라고

  애플, IBM은 

하나의 인자를 사용하여 인수는 인수에 의해 정의된대로 배열의 끝 부분에서 요소가 걸립니다. 예를 들면 :

  computer.slice (2); 

복귀

  애플, IBM과 HP는, 

음수 인수는 Array.slice에 () 메소드를 사용하는 마지막 유형이다. 부정적인 가치를 -1로 배열의 마지막 요소와 함께 다음이 시작 뒤쪽을 향해 첫 번째 요소로 계산됩니다. 예를 들어,이 섹션에 나와있는 예제에서 성명 :

  computer.slice (-1) 

반환이 :

  HP는 

앞쪽 - 세고 조각과는 달리 0과 함께 배열의 마지막 요소로 파악 -1 배열 () 메서드는 조각의 사용을 시작했다.

네비게이터 4 코어 Array 메소드 : 팝업 (), 푸쉬 (), 교대 (), unshift (), 결혼 ()

메소드의 배열 작업이 마지막으로 설정 유틸리티의 좋은 조건을 추가합니다, 당신은 스택 - 배열 작업을 수행할 수있습니다. 혹시 로한 또는 Adobe 포스트 스크립트용으로 작성된 코드에 프로그램을 작성하신 스택과 함께 일한 적이 및 팝업 ()와 푸시 ()을 잘 알고있다. 각각 다섯 가지의 간단한 설명과 함께 간략하게 설명한 다음을 기반으로 하나의 예를 들어 :

  var stackWork = 새 Array ( "레니", "헤럴드", "메리", "진", "샐"); 

Array.pop ()를 반환 배열의 마지막 요소를 제거합니다.

stackWork.pop (); 반환 샐하고 배열에서 제거합니다. 두 번째 경우와 동일 성명은 다음 라인에 제출했지만, 그건 진 돌아올 것이라고했다.

Array.push () 배열의 끝 (스택의) 가치를 추가하고 거기에 가기 나뭇잎. 다음 라인을 추가함으로써, 문자열 델리아 새로운 마지막 요소로 가치가 될 것이 () 방법 : 밀어하여 배열에 추가

  stackWork.push ( "델리아"); 

팝업 () 작업에서 (LIFO -에서 처음으로 한 것이라고, 일단).

Array.shift () 배열의 첫번째 요소를 반환 그것을 제거합니다. 예를 들어,이, 배열에서 제거, 레니 돌아올 것이라고하고 나머지 요소를 왼쪽으로 이동 :

  stackWork.shift (); 

요소 0 해롤드가 될 것이다.

Array.unshift 그 새로운 요소를 배열의 맨 앞에 스택의 (하단)을 넣어 제외 () 메소드, 푸쉬 ()와 유사합니다. 다음을 입력하면, 첫 번째 요소를 배열에 (요소 0) 윌리의 가치가있는 것이, 전체 배열에 대한 레니를 오른쪽으로 옮겨 요소를 1이 될 가치, 그래서 :

  stackWork.unshift ( "윌리"); 

마지막으로, Array.splice () 메소드를 삽입, 삭제 및 배열 요소에 값을 대체하는 데 사용됩니다. 방법 3 인자, 삭제 시작하고 데이터를했다. 시작 위치)가 어디에서 새로운 가치 (데이터를 삽입해야하는 시간과 장소를 지정 삭제를 시작합니다. 삭제가없는 경우, 접착 () 메소드를 지정하는 배열로 요소와 가치를 삽입의 효과가있다. 예를 들어, 다음 두 번째 요소로 프레드 가치를 삽입하는 방법, 떠나는 보여주는 첫 번째로하고 나머지는 오른쪽으로 이동 :

  stackWork.splice (1,0, "프레드"); 

접착 () 방법을 사용하면 하나 이상의 요소 요소를 삽입, 삭제하거나 배열 원소의 값을 변경할 수있습니다. 당신이 이러한 기능을 일부 이전 버전의 브라우저에서 작동하지 않으면 찾을 수 있을지도 모르겠지만, IE5 +와 NN4 + 잘 그들과 함께 작업할 수있다.

조지 Freedrich에 의해 제출된 문서

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions