我知道如何通过其索引获取数组。我也知道如何通过其键来捕获对象,但是我不想通过键来捕获它。
你在这里找我的东西
var x = {"email":["This Position"]}
我知道我可以像写This Position
一样抓住x.email[0]
。
但是问题是,我不能总是用This Position
抓住x.email[0]
。
因为服务器有时会像这样向我发送邮件:
var x = {"phone":["This Position"]}
即使是这样的时间:var x = {"name":["This Position"]}
所以您知道不可能抓住This Position
,因为对于那些变量,我必须像x.phone[0]
或x.name[0]
那样写。
写数百个变量非常困难。
var x = {"email":["This Position"]}
所以我不想像这样的x.email[0]
抢夺这个职位。
能给我一个解决方案,无论键名是什么,我只想先获取第一个值,然后再获取一个键?有可能吗?
答案 0 :(得分:3)
您可以使用Object.values
var x = {"email":["This Position"]}
var value = Object.values(x)[0][0]
答案 1 :(得分:2)
像这样使用Object.values
:
var x = {"email":["This Position"]};
const [[res]] = Object.values(x);
console.log(res);
答案 2 :(得分:2)
这是可能的,因为JavaScript对象是按插入顺序排序的。您可以使用Object.keys(obj)
,但这非常慢。更快的方法是使用in
遍历键并返回第一个。
const obj = {
foobar: ["This position"],
foobaz: ["That position"]
};
console.log(Object.values(obj)[0][0]);
// or
const getFirstKey = obj => {
for (const k in obj) return obj[k];
};
console.log(getFirstKey(obj)[0]);