자바 스크립트 배열에 대해 잘 모르는 3 가지
배열 프로그래밍 언어에서 널리 사용되는 기능입니다. 그들은 특수 변수 동시에 여러 값을 저장하는 데 사용할 수 있습니다. 그러나 자바 스크립트에 관해서는 배워야하는 것처럼 쉽게 할 수 있지만 항상 더 많은 것을 탐구해야합니다..
이 글에서는 이전에 알지 못했던 잘 알려지지 않았지만 중요한 JavaScript 배열의 세 가지 기능에 대해 살펴 보겠습니다..
1. 배열에 사용자 정의 속성 추가
JavaScript 배열의 철저한 정의를 찾기 위해 인터넷을 샅샅이 뒤져 본다면, 거의 모든 소스가 확실하게 배열을 나열 할 것입니다. 정말 ~이다., 객체.
사실 JavaScript에서 다루는 거의 모든 것이 사물로 판다.. JavaScript에는 두 가지 종류의 데이터 유형이 있습니다., 프리미티브 과 사물, 그러나 프리미티브는 항상 객체 내부에 래핑됩니다..
배열, 함수, 날짜 등 사전 정의 된 JavaScript 객체 기본 제공 방법, 속성 및 자체 표준 구문이 포함되어 있습니다..
자바 스크립트 배열은 3 가지 유형의 속성:
- 배열의 인덱스 또한 속성이다.
- 내장 속성
- 사용자 정의 속성 직접 추가 할 수 있습니다.
처음 두 개는 더 잘 알려져 있습니다. 매일 사용할 수 있지만 배열에 고유 한 사용자 지정 속성을 추가하는 방법으로 빠르게 넘어 가기 전에 살펴 보겠습니다..
속성으로 색인
자바 스크립트 배열은 대괄호 구문, 와 같은 var ary = [ "orange", "apple", "lychee"];
.
배열 요소의 인덱스는 기본적으로 속성들 어디서? 속성 이름 아르 항상 음수가 아닌 정수.
그만큼 색인 요소 쌍 배열의 키 - 값 쌍 사물의.
인덱스는 Array 객체의 고유 한 기능이며 다른 내장 된 속성과 달리 대괄호 문법만으로 설정, 와 같은 ary [3] = "복숭아";
.
기본 제공 속성
배열에도 있습니다. 내장 속성, 와 같은 array.length
. 그만큼 길이
속성은 정수 값을 전달합니다. 배열의 길이를 나타냅니다..
일반적으로 내장 속성은 배열과 같은 미리 정의 된 JavaScript 객체에서 자주 찾을 수 있습니다. 내장 된 방법과 함께 그들은 도움을줍니다. 객체가 서로 다른 요구에 맞도록 일반 객체를 커스터마이즈.
내장 된 속성은 object.key
아니면 그 객체 [ "key"]
통사론. 그래서 당신은 또한 아리 [ "길이"]
배열의 길이에 접근하기.
배열 객체의 사용자 정의 속성 만들기
자, 이제 얘기하자. 배열에 자신의 속성 추가하기. 배열은 서로 다른 인덱스에 다른 유형의 값을 저장하는 미리 정의 된 객체입니다..
일반적으로 배열에 사용자 정의 속성을 추가 할 필요는별로 없습니다. 이것은 초보자가 일반적 으로이 기능에 대해 가르쳐하지 않는 이유 중 하나입니다. 실제로 키 - 값 쌍을 추가하여 일반 객체와 같은 배열을 처리하려는 경우에도 마찬가지입니다. 목적에 맞는 정상적인 물건을 사용한다.. 그러나 이것이 이것이 존재하지 않는다는 것을 의미하지는 않습니다. 특수한 상황들 하나 이상의 사용자 정의 속성을 추가하여 배열이 객체라는 사실을 사용할 수 있습니다..
예를 들어, 배열에 사용자 정의 속성을 추가 할 수 있습니다. 요소의 "종류"또는 "클래스"를 식별합니다., 아래 예에서 볼 수 있듯이.
var ary = [ "orange", "apple", "lychee"]; ary.itemClass = "과일"; console.log (ary + "are"+ ary.itemClass); // "오렌지, 사과, 열매는 과일"
배열에 추가하는 사용자 정의 속성은 다음과 같습니다. 열거 가능한, 이는 루프와 같은 루프에 의해 선택 될 것임을 의미합니다. ~을 위해 ~에
성명서.
2. 배열 요소를 통해 반복
아마도 "이미 알고 있습니다"라고 말할 것입니다. 아마도 사실 일 겁니다. 배열 요소를 통과하는 법을 이미 알고 있습니다. 그러나 "loop through array elements"라는 말은 약간 추상적입니다. 우리가 실제로 루프하는 것은 배열의 인덱스.
배열 인덱스는 음이 아닌 정수, 일반적으로 0부터 시작하여 배열의 전체 길이에서 끝나는 정수 값을 반복 한 다음 해당 반복 값을 사용하여 지정된 인덱스의 배열 요소에 액세스합니다.
그러나 ECMAScript6 이후에는 배열 값을 직접 순환 색인으로 귀찮게하지 않고도 ~에 대한
고리.
배열에서 ~에 대한
루프가 배열 요소를 통해 반복됩니다. 색인의 순서로, 즉, 인덱스를 반복 처리하고 기존 배열 값 주어진 인덱스에서. 이 루프는 모든 배열 요소를 반복하여 루프하고 싶다면 이상적입니다..
var ary = [ "orange", "apple", "lychee"]; 를 위해 (ary of ary) console.log (item); // "orange", "apple", "lychee"
비교를 위해 일반 ...에 대한
루프에서 우리는 값 대신 인덱스를 출력으로 얻습니다..
var ary = [ "orange", "apple", "lychee"]; for (var item = 0; item < ary.length; item++) console.log(item); // 0, 1, 2
3. 요소의 수는 길이가 아닙니다.
일반적으로 우리가 배열의 길이, 배열이 보유하는 값의 수 또는 배열에 수동으로 주어진 길이 중 하나라고 생각합니다. 그러나 실제로 배열의 길이는 가장 큰 기존 지수 그것의 내부.
길이는 매우 유연한 속성. 미리 배열 길이를 고정했는지 여부에 관계없이 배열에 값을 계속 추가하면 그 길이 그에 따라 계속 증가한다..
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6
위의 예에서 배열에 인덱스 5에 하나의 값만주고 길이는 6이됩니다. 이제 인덱스 5에 값을 추가하면 배열이 0에서 4까지의 인덱스를 자동으로 생성했다고 생각하면 , 그 다음에 가정이 틀리다.. 정말로있다. 0에서 4까지의 기존 색인 없음 그 배열에. 이것을 사용하여 확인할 수 있습니다. ...에서
운영자.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6 console.log (0 in ary); // false
배열 아리
우리가 "스파 스"배열, 배열의 인덱스 연속적으로 창조되지 않는다., 과 틈이있다.. "드문 드문 한"배열의 반대는 "조밀 한"배열 여기서 인덱스는 배열에 연속적으로 존재하며 요소의 수는 길이
.
그만큼 길이
재산도 가능하다. 배열 잘라 내기, 배열에있는 가장 높은 인덱스가 항상 있는지 확인하십시오. 자기보다 작다., 같이 길이
기본적으로 항상 가장 큰 인덱스보다 더 큰 숫자입니다..
아래의 예에서 우리는 인덱스 5에서 요소를 잃는 것을 볼 수 있습니다. 길이
~의 아리
정렬.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6 ary.length = 2; console.log (ary.length); // 2 console.log (ary [5]); // undefined
더 읽을 거리
- 10 가지 자바 스크립트 용어
- 네가 알아야 할 흔하지는 않지만 유용한 Javascript 문
- JS Hint를 사용한 코드 최적화 - 자바 스크립트 linting을위한 도구