0

これに沿って何かをすることが可能かどうか疑問に思います:

var label = new Array();
    label[0] = "label0";
    label[1] = "label1";

var value = new Array();
    value[0] = "value0";
    value[1] = "value1";

for (i=0,i<label.length,i++)
    {
        document.write( label[i] + " = " + value[i] );
    }

ラベル配列は明らかに値配列用であり、常に同じサイズになります。これを行う適切な方法があれば?

編集:これが本当の取引です

var documents = new Array();

documents[0] = navigator.appCodeName;
documents[1] = navigator.appMinorVersion;
documents[2] = navigator.appName;
documents[3] = navigator.appVersion;
documents[4] = navigator.browserLanguage;
documents[5] = navigator.buildID;
documents[6] = navigator.cookieEnabled;
documents[7] = navigator.cpuClass;
documents[8] = navigator.language;
documents[9] = navigator.mimeTypes;
documents[10] = navigator.onLine;
documents[11] = navigator.oscpu;
documents[12] = navigator.platform;
documents[13] = navigator.plugins;
documents[14] = navigator.productSub;
documents[15] = navigator.userLanguage;
documents[16] = navigator.userProfile;
documents[17] = navigator.vendor;
documents[18] = navigator.vendorSub;

var label = new Array();

label[0] = "appCodeName";
label[1] = "appMinorVersion";
label[2] = "appName";
label[3] = "appVersion";
label[4] = "browserLanguage";
label[5] = "buildID";
label[6] = "cookieEnabled";
label[7] = "cpuClass";
label[8] = "language";
label[9] = "mimeTypes";
label[10] = "onLine";
label[11] = "oscpu";
label[12] = "platform";
label[13] = "plugins";
label[14] = "productSub";
label[15] = "userLanguage";
label[16] = "userProfile";
label[17] = "vendor";
label[18] = "vendorSub";

for(var i=0;i<documents.length;i++)
    {
        document.write( label[i] + " = " documents[i] + "<br >" );
    }   

エラーは次のとおりです。UncaughtSyntaxError:予期しない識別子print.htm:56

4

3 に答える 3

0

はい、これで問題ありません。iは数値を含む単なる変数ですが、で適切に宣言するようにしてください。そうしないとvar、グローバルになります。また、[](空の配列リテラル)を使用して新しい空の配列を作成する必要があり、実際には避ける必要がありますdocument.write(ただし、このようなスタンドアロンの演習では問題ありません)。

また、何を達成しようとしているのかを明確にすると、非常に役立ちます。

于 2013-02-27T19:15:43.850 に答える
0

文字列の2つの配列の代わりに、オブジェクトの配列を使用できます。それはそれらが常に同じ長さであることを保証します。

var labelsAndValues = new Array();
    labelsAndValues[0] = { label: "label0", value: "value0" };
    labelsAndValues[1] = { label: "label1", value: "value1" };

for (i=0,i<labelsAndValues.length,i++)
{
    document.write( labelsAndValues[i].label + " = " + labelsAndValues[i].value );
}
于 2013-02-27T19:16:16.037 に答える
0

なぜ2つのアレイを使用しているのですか?オブジェクトを使用して、値を持つキーを保持します。

var obj = {
    "appCodeName" : navigator.appCodeName,
    "appMinorVersion":  navigator.appMinorVersion,
    "appName": navigator.appName
}

for (var x in obj) {
    if (obj.hasOwnProperty(x)) {
        console.log(x,"=","obj[x]);
    }
}

また、ナビゲーターオブジェクトを通過する場合は、ループすることができます。

for( var prop in navigator) {
    console.log(prop,"=",(navigator[prop]||"").toString());
}
于 2013-02-27T19:30:55.550 に答える