从javascript对象获取第一个键

时间:2010-07-21 11:01:05

标签: javascript

假设我们有以下javascript对象:

ahash = {"one": [1,2,3], "two": [4,5,6]}

是否有任何函数,它返回对象中第一个键的值? (我不知道密钥名称,我只想得到第一把钥匙的价值)。

8 个答案:

答案 0 :(得分:230)

在Javascript中,您可以执行以下操作:

Object.keys(ahash)[0];

答案 1 :(得分:29)

哈希中没有“第一”键(Javascript称它们为对象)。它们基本上是无序的。你的意思是只选择任何一个键:

for (var k in ahash) {
    break
}

// k is a key in ahash.

答案 2 :(得分:14)

如果您决定使用Underscore.js,最好

_.values(ahash)[0]

获取价值,或

_.keys(ahash)[0]

得到钥匙。

答案 3 :(得分:11)

试试这个:

for (var firstKey in ahash) break;

alert(firstKey);  // 'one'

答案 4 :(得分:5)

使用Underscore.js,你可以做到

_.find( {"one": [1,2,3], "two": [4,5,6]} )

它将返回[1,2,3]

答案 5 :(得分:1)

您可以将元素放入数组并同时散列。

var value = [1,2,3];
ahash = {"one": value};
array.push(value);

数组可用于按顺序获取值,并且哈希可用于通过键获取值。当你删除并添加元素时,只需要随身携带。

答案 6 :(得分:0)

出于防御性编码的原因,我使用Lodash

尤其是在某些情况下,我不知道我试图获取其键的对象中是否会存在任何属性。

使用Lodash的“完全防御”方法将同时使用keysget

const firstKey = _.get(_.keys(ahash), 0);

答案 7 :(得分:0)

您可以按对象的数组位置查询对象的内容。例如:

 let obj = {plainKey: 'plain value'};

 let firstKey = Object.keys(obj)[0]; // "plainKey"
 let firstValue = Object.values(obj)[0]; // "plain value"