簡體   English   中英

在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返回所有自己的鍵名,而for-in可用於遍歷對象的所有自己的和繼承的鍵名。

正如James Brierley在下面評論的那樣,您可以通過以下方式分配對象的未知屬性:

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); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM