在IE中获取多维javascript数组的值
我有这个数组(我知道,从技术上讲,javascript中没有多维数组)或“对象”。我希望得到值-888,如下所示:在IE中获取多维javascript数组的值,javascript,arrays,internet-explorer,object,Javascript,Arrays,Internet Explorer,Object,我有这个数组(我知道,从技术上讲,javascript中没有多维数组)或“对象”。我希望得到值-888,如下所示: var thisPage = 1; var pagePos = { 0: { left: '0', url: 'home', }, 1: { left: '-888', url: 'what_we_offer',
var thisPage = 1;
var pagePos = {
0: {
left: '0',
url: 'home',
},
1: {
left: '-888',
url: 'what_we_offer',
},
2: {
left: '-1776',
url: 'clients',
},
3: {
left: '-2664',
url: 'contact_us',
}
};
alert(pagePos[thisPage].left);
它在Firefox中运行良好,但在IE中不行。为什么
谢谢。这是因为
url
属性的值后面有逗号。JSON中的最后一个值后面不能有逗号。正确的语法是
var pagePos = {
0: {
left: '0',
url: 'home'
},
1: {
left: '-888',
url: 'what_we_offer'
},
2: {
left: '-1776',
url: 'clients'
},
3: {
left: '-2664',
url: 'contact_us'
}
};
这是因为
url
属性的值后面有逗号。JSON中的最后一个值后面不能有逗号。正确的语法是
var pagePos = {
0: {
left: '0',
url: 'home'
},
1: {
left: '-888',
url: 'what_we_offer'
},
2: {
left: '-1776',
url: 'clients'
},
3: {
left: '-2664',
url: 'contact_us'
}
};
如果将其转换为一个对象数组(因为这是访问它的方式),该怎么办
还有。。。删除url属性后的多余逗号。有些浏览器可以使用,有些则不行。如果将其转换为一个对象数组(因为这是访问它的方式),该怎么办
还有。。。删除url属性后的多余逗号。有些浏览器可以使用,有些则不行。我可以看到IE在这方面可能存在一些问题(这是IE,cmon)。尝试将数组的性质更改为简单的对象数组。它们自然会按照初始化的顺序进行编号
var pagePos = [
{
left: '0',
url: 'home',
},
{
left: '-888',
url: 'what_we_offer',
},
{
left: '-1776',
url: 'clients',
},
{
left: '-2664',
url: 'contact_us',
}
];
我可以看出IE在这方面可能存在一些问题(这是IE,cmon)。尝试将数组的性质更改为简单的对象数组。它们自然会按照初始化的顺序进行编号
var pagePos = [
{
left: '0',
url: 'home',
},
{
left: '-888',
url: 'what_we_offer',
},
{
left: '-1776',
url: 'clients',
},
{
left: '-2664',
url: 'contact_us',
}
];
这是一种奇怪的组合数组的方式……我很惊讶它在任何浏览器中都能工作!尝试定义
pagePos
如下:
var pagePos = [ // note: bracket!
{
left: '0',
url: 'home',
},
{
left: '-888',
url: 'what_we_offer',
},
{
left: '-1776',
url: 'clients',
},
{
left: '-2664',
url: 'contact_us',
}
];
这是一种奇怪的组合数组的方式……我很惊讶它在任何浏览器中都能工作!尝试定义
pagePos
如下:
var pagePos = [ // note: bracket!
{
left: '0',
url: 'home',
},
{
left: '-888',
url: 'what_we_offer',
},
{
left: '-1776',
url: 'clients',
},
{
left: '-2664',
url: 'contact_us',
}
];
它在IE中确实有效。这是你的真实代码吗?还有一些事情出了问题,一些我们没有看到的事情。在声明
3
属性之后,是否可能有一个尾随,
?因为这在IE中不太管用。@DavidHedlund他没有说IE的哪个版本…谢谢你的回复,实际上duri在下面有它-是url属性后的尾随逗号抛出了它。干杯。@nex:fair point。嘿,事后来看,“我们没有看到的东西……也许后面的逗号”应该是我没有看到的东西,因为它在IE中确实起作用。这是你的真实代码吗?还有一些事情出了问题,一些我们没有看到的事情。在声明3
属性之后,是否可能有一个尾随,
?因为这在IE中不太管用。@DavidHedlund他没有说IE的哪个版本…谢谢你的回复,实际上duri在下面有它-是url属性后的尾随逗号抛出了它。干杯。@nex:fair point。嘿,事后来看,“我们没有看到的东西……也许后面的逗号”应该是我没有看到的东西o_OYes-这是url属性后面的额外逗号!谢谢。是的-这是url属性后的额外逗号!谢谢