来自
"data":[{"ja":"大阪市"},{"en":"Osaka"}]
我想获得"ja"
和"en"
。
我尝试了几种方法...
data.map(function(_, i) { return i; });
它返回 数字数组。
console.log(Object.keys(Object.values(data)));
所有审判返回
(2) [0, 1]
0: 0
1: 1
我该怎么办? 请回答我。谢谢。
答案 0 :(得分:3)
使用map()
并返回对象的第一个键。您可以使用Object.keys()
let data = [{"ja":"大阪市"},{"en":"Osaka"}]
let res = data.map(x => Object.keys(x)[0]);
console.log(res)
如果您不想使用[0]
,请使用flatMap()
let data = [{"ja":"大阪市"},{"en":"Osaka"}]
let res = data.flatMap(x => Object.keys(x));
console.log(res)
注意:第二种方法还将获得除第一种方法外的其他属性。例如
[{"ja":"大阪市","other":"value"},{"en":"Osaka"}] //["ja","other","en"];
答案 1 :(得分:0)
let data = [{"ja":"大阪市"},{"en":"Osaka"}]
var res = data.reduce(function(arr, o) {
return Object.keys(o).reduce(function(a, k) {
if (a.indexOf(k) == -1) a.push(k);
return a;
}, arr)
}, []);
console.log(res);