簡體   English   中英

在JavaScript中將值數組轉換為對象(鍵值)對數組

[英]Convert array of values to array of objects (key-value) pairs in JavaScript

有沒有簡單的方法來轉換值數組:

dataset = [5, 10, 13];

到對象數組,其中每個對象都是鍵值對?

dataset = [ { key: 0, value: 5 },
            { key: 1, value: 10 },
            { key: 2, value: 13 } ];

此示例是Scott Murray的《 Web交互式數據可視化》(第2版,第2頁)的“使用鍵進行數據連接”部分中數據集的縮寫形式。 187。

我找不到答案,因此在下面發布了自己的解決方案。

使用Array.map()迭代數組。 Array.map()接受返回新項目的回調。 第一個參數是原始項目( value ),第二個參數是索引( key ):

 const dataset = [5, 10, 13]; const result = dataset.map((value, key) => ({ key, value })); console.log(result); 

您可以使用功能map

 var dataset = [5, 10, 13] var result = dataset.map((n, i) => ({ key: i, value: n })) console.log(result) 
 .as-console-wrapper { max-height: 100% !important; top: 0; } 

另一個選擇Array.from

 var dataset = [5, 10, 13] var result = Array.from(dataset, (n, i) => ({key: i, value: n})) console.log(result) 
 .as-console-wrapper { max-height: 100% !important; top: 0; } 

暫無
暫無

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

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