从字典中写出名称和值

时间:2010-07-15 15:47:04

标签: javascript

我知道这很简单,但我已经习惯了OOP语言。我试图找出如何在一个警报或多个警报中写出每个名称/值,这样我就可以验证数据

var dCookieNameValuePairs = {};

for (i = 0; i < cookieValues.length; i++)
{
    var akeyValuePair = aCookieValues[i].split("=");
    dCookieNameValuePairs[keyValuePair[0]] = keyValuePair[1];
}

// display each name value pair testing
for (i = 0; i < dCookieNameValuePairs.length; i++)
{
    alert("Name: " + dCookieNameValuePairs[] + "Value: " + 
}

我停留在第二个for循环...我不知道如何遍历字典,然后专注于每个名称/值以将其吐回。

2 个答案:

答案 0 :(得分:3)

您希望使用 for..in 来枚举词典/地图。

for ( var prop in dCookieNameValuePairs ) {
   if ( dCookieNameValuePairs.hasOwnProperty( prop ) ) {
       alert( dCookieNameValuePairs[prop] )
   }
}

我可能打错了。在处理数组.length或您定义为填充[]的自定义数组对象时,仅使用.length

答案 1 :(得分:2)

for (i in dCookieNameValuePairs) {
    alert("Name: " + i + " Value: " + dCookieValuePairs[i]);
}

有关详情,请参阅this page的“JavaScript不支持关联数组”部分。

如果您不需要关联数组,则可以将键和值放入对象数组中。所以你的第一个循环看起来像这样:

for (i = 0; i < cookieValues.length; i++) {
    var akeyValuePair = cookieValues[i].split("=");
    dCookieNameValuePairs.push({key: akeyValuePair[0], value: akeyValuePair[1]});
}