【问题标题】:Working with Java Script and multidimensional arrays使用 Javascript 和多维数组
【发布时间】:2012-04-01 02:19:21
【问题描述】:

我目前正在做一个网站类型的项目,而且我是 JavaScript 新手。所以我在语法的某些部分遇到了麻烦。基本上我正在尝试在嵌套数组 arr 中打印“id”和“值”。

var myArray = new Array({id:'1', value:'een', arr: new Array({id:'10', value:'een'})};
var obj = myArray[0];
document.write(obj.id);

这将打印 id 1 但我不确定如何访问 id 10。

如果有更简单的方法,请告诉我!

【问题讨论】:

  • 仅供参考,不要使用 new Array() 而是使用 [] 数组字面量。

标签: javascript arrays html multidimensional-array javascript-objects


【解决方案1】:

首先,不要使用new Array 构造函数。只需定义一个数组文字[...]。所以你的myArray 看起来像:

var myArray = [{id:'1', value:'een', arr: [{id:'10', value:'een'}]}];

要访问10id,您需要访问myArray[0].arr[0].id;

【讨论】:

  • [0],而不是内部数组的[1]
  • 别问我为什么写[1]。我不知道XD
【解决方案2】:

正确的参考是:

obj.arr[0].id

PS: google chrome 开发者控制台是一个很好的测试 javascript 对象 dereefrecing 的游乐场

【讨论】:

  • 如果我想初始化这样一个大小为 10 x 10 的数组,我该怎么做?
  • 我会为此目的提出 [] 字面量,但这会非常冗长 - 但没有办法。通常这样的 javascript 数组来自某种 AJAX 服务的服务器(JSON 在语法上是有价值的 javascipt 文字,可以只进行评估),它们是从一些后端数据模型自动转换的
【解决方案3】:

你不能不迭代数组。

如果顺序无关紧要,请使用对象:

var myObject = {
    1: {id:'1', value:'een'},
    10: {id:'10', value:'een'}
};
var obj = myArray[10];
document.write(obj.id);

如果您打算在数组中嵌套,这就是您想要的:

var obj = myArray[0].arr[0];

演示:

> var myArray = new Array({id:'1', value:'een', arr: new Array({id:'10', value:'een'})});
> myArray[0].arr[0]
{ id: '10', value: 'een' }

【讨论】:

    【解决方案4】:

    我想要获取数组,为什么不创建自己的对象?

    http://www.w3schools.com/js/js_objects.asp

    【讨论】:

    • 我想创建一个对象数组,但我不知道该怎么做
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    • 2017-05-24
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多