如何访问‘;联想’;JavaScript中的数组?
我有一个js“关联”数组,带有如何访问‘;联想’;JavaScript中的数组?,javascript,key,associative-array,Javascript,Key,Associative Array,我有一个js“关联”数组,带有 array['serial_number'] = 'value' 序列号和值是字符串。 e、 g.数组['20910930923']='20101102' 我按值排序,效果很好。 假设我把对象“排序”回来 现在我想访问“排序”数组的第一个键。 我该怎么做?我不认为我需要一次迭代 for (var i in sorted) 在第一次之后停下来 谢谢 编辑:我只是想澄清一下,我知道js不支持关联数组(这就是为什么我在标题中用了高逗号)。实际上JavaScript不
array['serial_number'] = 'value'
序列号和值是字符串。
e、 g.数组['20910930923']='20101102'
我按值排序,效果很好。
假设我把对象“排序”回来
现在我想访问“排序”数组的第一个键。
我该怎么做?我不认为我需要一次迭代
for (var i in sorted)
在第一次之后停下来
谢谢
编辑:我只是想澄清一下,我知道js不支持关联数组(这就是为什么我在标题中用了高逗号)。实际上JavaScript不支持关联数组,所以你不能按隐含顺序循环(例如,你不能通过索引器属性
数组[0]访问它)
将不会访问对象中的第一个元素)。语法使它看起来像是,但实际上它不是。因此,您对对象没有“顺序”
Javascript没有,也没有
支持关联数组。然而…
Javascript中的所有数组都是对象
Javascript的对象语法给出了一个
关联系统的基本仿真
数组。因此,我们举了一个例子
上面的代码将实际工作。是
警告这不是一个真正的数组
如果你试着去做,它会有真正的陷阱
使用它。中的“person”元素
示例成为数组的一部分
对象的属性和方法,仅
例如.length、.sort()、.splice()和
所有其他内置属性和
方法
2021年更新 自ES6以来,具有字符串键的属性按插入顺序枚举。给你。我2010年的原始答案当时是正确的,现保存如下: 原始答案 JavaScript对象属性被指定为没有顺序。如果需要排序,请放弃使用对象的任何尝试,而是使用
数组
来存储名称值对象:
var nameValues = [
{name: '20910930923', value: '20101102'},
{name: 'foo', value: 'bar'}
];
。。。或作为要与现有对象一起使用的属性名称的有序列表:
var obj = {
'20910930923': '20101102',
'foo': 'bar'
};
var orderedPropertyNames = ['20910930923', 'foo'];
我在想,你能不能换一个键值对的数组 因此答案是arrayKeyValueReversed['20101102']='20910930923' 对数组进行排序时,请使用第一项(数组[0])作为键,以获取arrayKeyValueReversed中的值。尝试以下操作:
// Some assoc list
var offers = {'x':{..some object...}, 'jjj':{...some other object ...}};
// First element (see attribution below)
return offers[Object.keys(offers)[0]];
// Last element (thanks to discussion on finding last element in associative array :)
return offers[Object.keys(offers)[Object.keys(offers).length - 1]];
嗯,对象是关联数组吗?JavaScript中没有关联数组,这都是一个大的怪物。@Anders;potato potahto,没有对象,它们都是大而奇怪的关联数组。JS对象当然可以用作关联数组,因此上面的链接(对我来说)似乎更容易误导而不是有用;走路像鸭子,说话像鸭子,我称之为鸭子。是的,它们在Javascript中被称为“对象属性”,但这并不能阻止它们成为关联数组。你粘贴的链接只是说它们不是线性阵列,当然也不是。如果你想说它们不是关联数组,请说出javascript对象不具备的关联数组的一个属性。你是如何对数组进行排序的?Emmett:这样做:只是为了澄清术语,你正在使用JS对象。JavaScript中的数组由整数索引。对象通过字符串/标识符进行索引,并且可以像这样访问属性:
obj['prop']
或者像这样:obj.prop
,因此它的行为类似于关联数组和对象。