3

JavaScript が真の多次元配列を許可していないことは承知していますが、配列内に配列を配置することで、1 つを「くっつける」ことができます。

2 つの質問があります。

1) 10 個の配列を、10 個の配列を含む 1 つの多次元配列に変換すると、Web ページのパフォーマンスが向上するか、損傷するか、または影響がありませんか?

2) 100 個の要素を持つ配列を作成したいと考えています。これらはそれぞれ 2 つの要素の配列になり、最終的にはそれぞれが不定長の配列になります。

この「多次元」配列を作成する次のコードがあります。

var RouteArray = new Array(100);
for (var i=0; i <100; i++)
{
RouteArray[i]=new Array(2);
    for (var j=0; j <2; j++)
    {
    RouteArray[i][j] = new Array();
    }
}

このコードは理にかなっていますか? または、経験豊富なコーダーがより良い方法を提案できますか?

また、次のコードを使用して、上記の多次元配列の不定配列に追加できると仮定します。

RouteArray[88][0].push(ValueToPush);

最後に、次を使用してプッシュしたばかりの値を呼び出すことができますか?

Var ValueAdded = RouteArray[88][0][0];

お時間をいただきありがとうございます。この質問が他の場所で回答されている場合はお詫び申し上げます。

ジョン

4

2 に答える 2

3

1)10個の配列を1個の多次元配列に変換すると、その中に10個の配列が含まれるため、Webページのパフォーマンスが向上、損傷、または影響を受けませんか?

ほぼ確実にパフォーマンスへの影響はありませんが、コードを理解し、バグを少なくする能力に大きな影響を与えます。

2)100個のインデックスを持つ配列を作成したいと思っています。これらのそれぞれは、2つのインデックスの配列で埋められ、最後に、これら2つのインデックスのそれぞれは不確定な長さの配列になります。

これは、サンプルコードの概要とまったく同じように機能します。足を濡らしたい場合は、これが出発点として適しています。実際には、多くの次元を持つ配列は、主に「検出可能」ではないため、コードが機能するものをモデル化するのに常に最適なデータ構造であるとは限りません。各次元が何であるかを事前に知っておく必要があります。

特定のシナリオでデータを構造化するためのより良い方法がある可能性は十分にありますが、具体的に話し合う必要があります。いずれの場合でも、指定したコードは機能します。

于 2012-05-02T14:11:08.253 に答える
1

熟考すべきこと: http://jsperf.com/arraynew

于 2012-05-02T14:30:12.393 に答える