【问题标题】:Multidimensional array - how to get a value [duplicate]多维数组-如何获取值[重复]
【发布时间】:2015-02-21 09:22:17
【问题描述】:

我有以下非常庞大的数组:

var arrayBig = {"count":31,"items":{"76":{"title":"office1","address":"<p><strong>London<\/strong><\/p>\r\n<p>Baker Str.<\/p>\r\n<p>Web site: <a href=\"http:\/\/example.org\">http:\/\/example.org<\/a><\/p>"},"57":{"title":....... etc. }....

我只需要获取“项目”中的第一个数字,例如76,使用 jQuery。

【问题讨论】:

  • 它不是一个数组。要访问对象属性,请使用 .[] 运算符。
  • 可以通过JS的object.keys()方法获取。
  • @Alexander Arutinyants:值得一提的是,对象的属性是无序的。并且标准保证任何订单。所以从技术上讲 - 检索对象的 first 属性是不可能的。
  • 谢谢。我知道如何获得“标题”或“地址”。但是一开始不知道如何获取数字 - 它没有名称。
  • 好的。我明白了,您首先要按任何字段搜索,然后获取号码?

标签: javascript arrays


【解决方案1】:

试试

var arrayObj = [];
    $.each(arrayBig.items, function(key, val) {

           arrayObj.push(key);

        });​

alert(arrayObj[0]);

【讨论】:

  • 这段代码怎么只取第一个值?
  • 将所有值存储在数组中并取数组[0] ....简单。
  • 你的答案中没有做任何一个。
【解决方案2】:

试试看:

var firstKey = Object.keys(arrayBig.items)[0];
arrayBig.items[firstKey]

【讨论】:

  • 属性顺序未定义不保证
  • @zerkms 它无论如何都会返回第一个密钥。如果它应该是组中最低的键,则应该对键数组进行排序。
  • "它仍然返回第一个键" --- 它为这个特定版本的 ECMAScript 实现的特定运行返回。没有什么可以阻止 JS VM 更改对象布局以实现内存优化。依赖没有标准化和没有保证的东西就像疯了一样。
猜你喜欢
  • 2023-03-03
  • 2017-10-16
  • 2017-11-16
  • 1970-01-01
  • 1970-01-01
  • 2017-01-06
  • 2021-12-01
  • 2023-02-01
相关资源
最近更新 更多