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 >" );
    }   

错误是:Uncaught SyntaxError: Unexpected identifier print.htm:56

4

3 回答 3

0

为什么要使用两个数组?使用一个对象来保存带有值的键。

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]);
    }
}

如果您正在浏览 navigator 对象,则可以循环浏览它。

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

您可以使用一个对象数组,而不是两个字符串数组。这将确保它们始终具有相同的长度。

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

是的,这会很好。i只是一个包含数字的变量 - 但请确保使用 正确声明它var,否则它将是一个全局变量!您还应该使用[](空数组文字)来创建新的空数组,并且document.write在实践中应该避免使用(但对于像这样的独立练习,这很好)。

如果您澄清了您要完成的工作,这也将非常有帮助。

于 2013-02-27T19:15:43.850 回答