簡體   English   中英

我試圖寫一個從數組創建一個簡單的對象。 在我的數組中,我存儲了變量:

[英]I am trying to write a create a simple object from an array. In my array, I have variable stored:

有什么方法可以將變量名分配為對象中的鍵? 例如,我有這些變量,它們存儲在數組“ stats”中

var name = "Sally"
var age = 35
var city = "New York"

var stats = [name, age, city] 

我想創建一個使用變量名稱作為鍵,使用變量值作為對象值的對象。

例:

var obj = {"name": "Sally", "age": 35, "city": "New York"}

我通過創建一個函數並在數組中運行一個for循環來做到這一點。 現在,我為索引分配了鍵,我知道這是錯誤的,但是我不知道如何使它成為變量的名稱。

function objCreator (array) {
    var obj = {}; 
    for (var i = 0; i < array.length; i++) {
        var key = i;
        var value = array[i];
        obj[key] = value; 
    }
    return obj; 
}

函數返回的結果是:

=> { '0': Sally',
  '1': 35,
  '2': 'New York'
 }

有什么建議么?

您需要將鍵名存儲在某個地方

var keyNames = ["name", "age", "city"];
function objCreator (array) 
{
    var obj = {}; 
    for (var i = 0; i < array.length; i++) 
    {
      obj[keyNames[i]] = array[i]; //observe change in this line here
    }
    return obj; 
}

暫無
暫無

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

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