あなたが経験豊富な開発者であれば、この質問は簡単だと思うかもしれませんが、この質問がより興味深いと感じることがあります。
まず、配列の定義を見てみましょう。 「配列は、整数を「キー」として使用してアクセスできる値のリストにすぎません。リストは0から始まり、そこから上がります。」 、ここではオブジェクトを使用して、配列の定義を説明します。
コードコピーは次のとおりです。
var arr = ["benjamin"、 "zuojj"];
// =>
var arr = {
「0」:「ベンジャミン」、
「1」:「Zuojj」
};
上記の例を見ると、私はいつも何かが欠けていると感じています、OK、配列の長さ:
コードコピーは次のとおりです。
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);
配列メソッドを見てみましょう。インデックス/スライス/スプライス/ソートなど、アレイには多くの動作方法があります。これらの方法は実際に配列に存在することがわかっています。プロトタイプ。次の例を参照してください。
コードコピーは次のとおりです。
var arr = ["benjamin"、 "zuojj"];
//出力:1
console.log(arr.indexof( "zuojj"));
arr.indexof = function(str){
「それはカスタマイズされたindexOf!」を返します。
}
// outputs:「カスタマイズされたインデックスです!」
console.log(arr.indexof( "zuojj"));
実際、オブジェクトを使用してすべての配列メソッドをオーバーロードできます。プッシュ方法の次の例を参照してください。
コードコピーは次のとおりです。
var arr = {
長さ:0、
プッシュ:function(val){
//割り当て
この[this.length] = val;
//配列の長さを更新します
this.length += 1;
//配列の長さを返します
this.lengthを返します。
}
}
arr.push( "zuojj");
arr.push( "Benjamin");
// object {0: "zuojj"、1: "benjamin"、length:2、push:function}
console.log(arr);
しかし、再び実装できない配列の文字通りの定義があります。
コードコピーは次のとおりです。vararr = ["benjamin"、 "zuojj"];
ただし、代わりにコンストラクターを使用できます。
コードコピーは次のとおりです。vararr = new Array( "Benjamin"、 "Zuojj");
文字通りの定義配列が適用されない場合は、独自の方法で配列の定義を再定義できます。
コードコピーは次のとおりです。VARMyARR= new CustomArray( "Benjamin"、 "Zuojj");
JavaScriptでアレイがどのように機能するかを知っているので、それがすべての人に役立つことを願っています。