0

現在、配列にデータを順番に挿入するためのある種のループを設計する方法を見つけようとしています。Unity3D エンジンで Javascript を使用しています。

基本的に、一連の座標位置を配列に格納したいと考えています。ユーザーが画面をクリックするたびに、スクリプトが座標位置を取得します。問題は、これを配列に挿入する方法がわからないことです。

配列のインデックスをチェックして、配列[0]が使用されているかどうかを確認してから、配列[1]を使用するにはどうすればよいですか? たぶん、ある種の For ループまたはカウンターですか?

ありがとう

4

2 に答える 2

3

配列の最後に追加するには、.push()を使用します。

var myArray = [];
var coord1 = [12,59];
var coord2 = [87,23];

myArray.push(coord1);
myArray.push(coord2);

myArrayには、2つのアイテムが含まれるようになりました(それぞれが2つの座標の配列です)。

ここで行ったようにすべてを静的に宣言している場合(配列全体を静的に宣言することもできます)、この方法では実行できませんが、プッシュがどのように機能して追加するかを示すために、このサンプルを作成しました。配列の最後にあるアイテム。

プッシュに関するリファレンスドキュメントについては、https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/pushを参照してください。

将来配列を読み取るときに配列の長さを知る必要がある場合は、.length属性を使用できます。

var lengthOfArray = myArray.length;
于 2011-06-30T06:16:23.817 に答える
0

jfriend00 によって提案された方法を使用する.push()ことも私の推奨事項ですが、次のインデックスが何であるかを調べる方法についての質問に答えるには、配列のlengthプロパティを使用できます。JavaScript 配列は 0 から始まるため、lengthプロパティは現在の最大インデックスよりも 1 大きい整数を返すためlength、最後に別のアイテムを追加する場合に使用するインデックス値にもなります。

anArray[anArray.length] = someValue; // add to end of array

配列の最後の要素を取得するには、もちろんanArray[anArray.length-1].

ほとんどlengthの場合、配列内の要素数が表示されますが、JavaScript 配列はインデックスをスキップしても問題ないため、上記で「現在の最大インデックスよりも 1 つ大きい」と言いました。

var myArray = [];
myArray[0] = "something";
myArray[1] = "something else";
myArray[50] = "something else again";
alert(myArray.length); // gives '51'
// accessing any unused indexes will return undefined
于 2011-06-30T07:17:12.083 に答える