我怎样才能得到一个对象的具有未知单键的值?
例:
var obj = {dbm: -45}
我想-45值不知道它的关键。
我知道我可以在对象键循环(这始终是一个)。
for (var key in objects) {
var value = objects[key];
}
不过,我想知道是否有这个一个清洁的解决方案?
我怎样才能得到一个对象的具有未知单键的值?
例:
var obj = {dbm: -45}
我想-45值不知道它的关键。
我知道我可以在对象键循环(这始终是一个)。
for (var key in objects) {
var value = objects[key];
}
不过,我想知道是否有这个一个清洁的解决方案?
Object.keys可能是一个解决方案:
Object.keys({ dbm: -45}); // ["dbm"]
换在和Object.keys的区别是,Object.keys返回所有自己的密钥名称和式可用于遍历所有拥有和继承对象的键名。
正如詹姆斯布赖尔利评论下面你可以分配以这种方式对象的未知属性:
var obj = { dbm:-45 };
var unkownKey = Object.keys(obj)[0];
obj[unkownKey] = 52;
但你要记住,该分配在Object.keys某种顺序返回键名称的属性的可能是容易出错。
有一个新的选择现在: 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);