2010-12-29 2 views
1

new Array(number)は何を意味し、new Array()は何を意味しますか?たとえば、次のようになります。新しい配列を作成するときに `new Array(number) 'とは何を意味しますか?

var weekday=new Array(7); 
weekday[0]="Sunday"; 
weekday[1]="Monday"; 
weekday[2]="Tuesday"; 
weekday[3]="Wednesday"; 
weekday[4]="Thursday"; 
weekday[5]="Friday"; 
weekday[6]="Saturday"; 
+1

MDCは見た目の良い場所です:https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/Array – epascarello

答えて

4

空の(NULL)配列エントリがいくつか事前に割り当てられます。私の意見では、それは無意味で、実際には悪い習慣です。

あなたのコードは、例えば、非常にきれいかもしれない:

new Array(22); 

new Array(n)は悪い考えであることを考えるための

var weekday = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; 

私の理由は、Arrayコンストラクタのセットアップは、2つのモードがありますということです22個のヌルエントリを持つArrayインスタンスを作成することを意味しますが、

new Array(22, 23, 24); 

平均sを使用してのエントリを持つArrayインスタンスを作成します。それは混乱して奇妙で、本当にそうしてはいけません。

+0

それに加えて、複数の要素を持つコンストラクタを呼び出すには、 'new Array 7,3)は、まったく異なるものを意味します。 –

+0

@Felixはい私は説明するための例を取り上げていましたが、制御が少し外れました:-) – Pointy

+0

番号が削除されても何も起こりませんか? – dramasea

1

var weekday = new Array(7); は、次の行に示すように、7個の項目を含む配列を宣言しています。配列は各インデックス(数値)に値を格納し、変数[#]で値にアクセスします

Javaのような他の言語では必要ありませんが、明示的な値が必要です。

0

Pointyの答えは完全に要約しています。 - 容量として配列の作品にコンストラクタ

var weekday = []; 
weekday.push("Sunday"); 
weekday.push("Monday"); 
weekday.push("Tuesday"); 
weekday.push("Wednesday"); 
weekday.push("Thursday"); 
weekday.push("Friday"); 
weekday.push("Saturday"); 
0
var sevenElementsArray = new Array(7); 
var emtpryArray1 = new Array(); 
var emtpryArray2 = []; 

数:ちょうど別の選択肢を追加するには、この(あなたではなく、たとえば、それをハードコーディングするよりも、ループ内で何かをした場合)のようにそれを行うことができます配列を動的に割り当てることができます。

alert(sevenElementsArray.length); //shows 7 
sevenElementsArray[20] = "it's OK"; 
alert(sevenElementsArray.length); //shows 20 
alert(sevenElementsArray[15]); //shows undefined; 

JavaScriptでも、lengthプロパティを更新することで配列を切り捨てて拡大することができます。

JavaScript:The Definitive Guide、第5版、第7章:オブジェクトと配列をお読みになることをお勧めします。オブジェクト、配列、配列のようなオブジェクトの違いを理解する必要があります。

関連する問題