我知道这很简单,但我已经习惯了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循环...我不知道如何遍历字典,然后专注于每个名称/值以将其吐回。
答案 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]});
}