JS获取未知单键对象的值
Get the value of an object with an unknown single key in JS
如何获取具有未知单键的对象的值?
示例:
var obj = {dbm: -45}
我想在不知道其密钥的情况下获取 -45 值。
我知道我可以遍历对象键(总是一个)。
for (var key in objects) {
var value = objects[key];
}
但我想知道是否有更清洁的解决方案?
Object.keys 可能是一个解决方案:
Object.keys({ dbm: -45}); // ["dbm"]
for-in和Object.keys的区别在于Object.keys returns所有自己的键名,for-in可以用来遍历所有自己的和继承的键名一个对象。
正如 James Brierley 在下面评论的那样,您可以用这种方式分配对象的未知 属性:
var obj = { dbm:-45 };
var unkownKey = Object.keys(obj)[0];
obj[unkownKey] = 52;
但您必须记住,按某种顺序分配 属性 Object.keys returns 键名可能容易出错。
现在有一个新选项:Object.values
。因此,如果您 知道 对象将只有一个 属性:
const array = Object.values(obj)[0];
实例:
const json = '{"EXAMPLE": [ "example1","example2","example3","example4" ]}';
const obj = JSON.parse(json);
const array = Object.values(obj)[0];
console.log(array);
如果您还需要知道 属性 的名称,还有 Object.entries
和解构:
const [name, array] = Object.entries(obj)[0];
实例:
const json = '{"EXAMPLE": [ "example1","example2","example3","example4" ]}';
const obj = JSON.parse(json);
const [name, array] = Object.entries(obj)[0];
console.log(name);
console.log(array);
如何获取具有未知单键的对象的值?
示例:
var obj = {dbm: -45}
我想在不知道其密钥的情况下获取 -45 值。
我知道我可以遍历对象键(总是一个)。
for (var key in objects) {
var value = objects[key];
}
但我想知道是否有更清洁的解决方案?
Object.keys 可能是一个解决方案:
Object.keys({ dbm: -45}); // ["dbm"]
for-in和Object.keys的区别在于Object.keys returns所有自己的键名,for-in可以用来遍历所有自己的和继承的键名一个对象。
正如 James Brierley 在下面评论的那样,您可以用这种方式分配对象的未知 属性:
var obj = { dbm:-45 };
var unkownKey = Object.keys(obj)[0];
obj[unkownKey] = 52;
但您必须记住,按某种顺序分配 属性 Object.keys returns 键名可能容易出错。
现在有一个新选项:Object.values
。因此,如果您 知道 对象将只有一个 属性:
const array = Object.values(obj)[0];
实例:
const json = '{"EXAMPLE": [ "example1","example2","example3","example4" ]}';
const obj = JSON.parse(json);
const array = Object.values(obj)[0];
console.log(array);
如果您还需要知道 属性 的名称,还有 Object.entries
和解构:
const [name, array] = Object.entries(obj)[0];
实例:
const json = '{"EXAMPLE": [ "example1","example2","example3","example4" ]}';
const obj = JSON.parse(json);
const [name, array] = Object.entries(obj)[0];
console.log(name);
console.log(array);