JavaScript按索引抓取对象/ json

时间:2019-05-19 07:17:25

标签: javascript arrays object

我知道如何通过其索引获取数组。我也知道如何通过其键来捕获对象,但是我不想通过键来捕获它。

你在这里找我的东西

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]抢夺这个职位

能给我一个解决方案,无论键名是什么,我只想先获取第一个值,然后再获取一个键?有可能吗?

3 个答案:

答案 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]);