경험이 풍부한 개발자라면이 질문이 간단하다고 생각할 수도 있지만 때로는이 질문이 더 흥미로울 것입니다.
먼저, 배열의 정의를 살펴 보겠습니다. "배열은 정수를"키 "로 사용하여 액세스 할 수있는 값 목록 일뿐입니다. 목록은 0에서 시작하여 거기에서 올라갑니다." , 여기서 우리는 객체를 사용하여 배열의 정의를 설명합니다.
코드 사본은 다음과 같습니다.
var arr = [ "Benjamin", "zuojj"];
// =>
var arr = {
"0": "벤자민",
"1": "Zuojj"
};
위의 예를 살펴보면, 나는 항상 무언가 누락 된 것으로 생각합니다. 좋아, 배열의 길이 :
코드 사본은 다음과 같습니다.
var arr = {
"0": "벤자민",
"1": "Zuojj",
"길이": 2
};
우리는 JavaScript 언어에서 배열이 특별한 개체라는 것을 알고 있습니다. 배열에 액세스하여 객체의 속성에 액세스 할 수 있습니다. 동시에 배열은 객체와 같은 속성을 추가 할 수도 있습니다. 다음 예를 참조하십시오.
코드 사본은 다음과 같습니다.
var arr = {
"0": "벤자민",
"1": "Zuojj",
"길이": 2
};
// 출력 : "벤자민"
Console.log (ARR [0]);
// 출력 : 2
Console.log (arr.length);
var arr = [ "Benjamin", "zuojj"];
arr.url = "www.vevb.com";
// 출력 : "www.vevb.com"
Console.log (arr.url);
// 출력 : 2
Console.log (arr.length);
배열 방법을 살펴 보겠습니다. indexof/slice/splice/sort 등과 같은 배열에 대한 많은 작동 방법이 있습니다. 우리는 이러한 방법이 실제로 Array.prototype에 존재한다는 것을 알고 있습니다. 다음 예를 참조하십시오.
코드 사본은 다음과 같습니다.
var arr = [ "Benjamin", "zuojj"];
// 출력 : 1
console.log (arr.indexof ( "zuojj"));
arr.indexof = function (str) {
반환 "이것은 맞춤형 인덱스입니다!";
}
// outputs : "그것은 사용자 정의 된 indexof입니다!"
console.log (arr.indexof ( "zuojj"));
실제로 객체를 사용하여 모든 배열 메소드에 과부하 할 수 있습니다. 푸시 방법의 다음 예를 참조하십시오.
코드 사본은 다음과 같습니다.
var arr = {
길이 : 0,
푸시 : 함수 (val) {
//과제
이 [this.length] = val;
// 배열 길이를 업데이트합니다
this.length += 1;
// 배열 길이를 반환합니다
이것을 반환합니다. 길이;
}
}
arr.push ( "zuojj");
arr.push ( "벤자민");
// Object {0 : "Zuojj", 1 : "Benjamin", 길이 : 2, 푸시 : 기능}}
Console.log (ARR);
그러나 다시 구현할 수없는 배열의 문자 적 정의가 있습니다.
코드 사본은 다음과 같습니다. var arr = [ "Benjamin", "zuojj"];
그러나 대신 생성자를 사용할 수 있습니다.
코드 사본은 다음과 같습니다. var arr = new Array ( "Benjamin", "zuojj");
문자 그대로 정의 배열이 적용되지 않으면 배열의 정의를 우리 자신의 방식으로 재정의 할 수 있습니다.
코드 사본은 다음과 같습니다. var myarr = new CustomArray ( "Benjamin", "zuojj");
이제 당신은 자바 스크립트에서 어레이가 어떻게 작동하는지 알고 있습니다. 모든 사람에게 도움이되기를 바랍니다.