我有问题。我想在一个有角度的前端获取服务值,但是这次我不能这样做,因为我不知道服务对象的名称(名称是comm键,所以它是可变的)。
服务响应如下:
11791146: {m_serverQuery: {…}, m_key: 11791146}
我需要在这里获取m_key
-注意11791146
是可变的。
我尝试过:
console.log(data);
let arr = data[0].m_key;
console.log(arr);
和
console.log(data);
let arr = data[m_key];
console.log(arr);
但是没有用。
答案 0 :(得分:6)
这是一般的方法。
var response = {
11791146: {m_serverQuery: "", m_key: 11791146}
}
var mKey = response[Object.keys(response)[0]].m_key;
console.log(mKey);
如果有多个键,则可以使用Object.keys(response)
循环遍历并获取数组中的所有键。
答案 1 :(得分:2)
您可以尝试使用Object.keys这样接收m_key:
const key = Object.keys(data);
const m_key = data[key[0]];
答案 2 :(得分:2)
您可以尝试使用Object.keys()
(也称为Object.values()
)来获取对象的键(或值),而无需了解其数据。
尝试以下
let data = { 11791146: {m_serverQuery: {name: 'sample'}, m_key: 11791146}};
console.log(Object.keys(data)[0]);
console.log(Object.values(data)[0]);
console.log(Object.values(data)[0].m_serverQuery);
console.log(Object.values(data)[0].m_key);
注意:在两种情况下,我都假定对象data
仅具有一个属性。因此,我直接使用[0]
访问它。否则,您将不得不处理函数返回的数组中的多个元素。