簡體   English   中英

從 JSON 格式填充 JavaScript 數組

[英]Populate JavaScript Array from JSON Format

嗨,我有如下所示的 JSON 數據:

[
  {"Mean of Arrivals for each hour":
     {"03-04":-35.62,"04-05":-3.62,"05-06":-3.7}
  }
]

我想把它推到一個數組,讓數組看起來像這樣:

[
{x: 03-04 y: -35.62},
{x: 04-05, y: -3.62},
{x: 05-06, y: -3.7}
]

現在,它看起來像下面的數組,我不知道如何將它格式化為上面的樣子。 下面也是我用來填充數組的代碼。 想要一些關於如何格式化數組的幫助。

[
x: {03-04: -35.62, 04-05: -3.62, 05-06: -3.7},
y: {03-04: -35.62, 04-05: -3.62, 05-06: -3.7}
]
var dataPoints = []; // final array with data

var chartData = new google.visualization.DataTable();
chartData.addColumn('string', 'Stunde');
chartData.addColumn('number', 'Ankunft');

function addData(data) {
    for (var i = 0; i < data.length - 1; i++) {
        dataPoints.push({
          x: data[i]["Mean of Arrivals for each hour"],
          y: data[i]["Mean of Arrivals for each hour"]
         });
    }

    dataPoints.forEach(function (row) {
        chartData.addRow([row.x, row.y]);
    });

    console.log(dataPoints);
    var chart = new google.charts.Bar(document.getElementById('plot3'));
    chart.draw(chartData, google.charts.Bar.convertOptions(options));
};

$.getJSON(url, addData);

使用for...in循環遍歷屬性,構造 JSON 並推送到數組:

 const data = [ {"Mean of Arrivals for each hour": {"03-04":-35.62,"04-05":-3.62,"05-06":-3.7} } ] const result = [], r = data[0]["Mean of Arrivals for each hour"]; for(const key in r) result.push({x: key, y: r[key]}) console.log(result);

這將所有內容都展平為單個數據數組,然后通過 map() 處理對象。 它將容納對象內的任意數量的數組,以及這些數組內的任意數量的坐標集。

 let obj = [ {"Mean of Arrivals for each hour": {"03-04":-35.62,"04-05":-3.62,"05-06":-3.7} } ] let result = obj.map(Object.values).flat().map(Object.entries).flat().map(e => ({x:e[0], y:e[1]})) console.log(result)

迭代數組中子對象的 Object.entries() 並為每個條目創建一個新對象

 const data = [ {"Mean of Arrivals for each hour": {"03-04":-35.62,"04-05":-3.62,"05-06":-3.7} } ] const key = "Mean of Arrivals for each hour", res = []; data.forEach(o => Object.entries(o[key]).forEach(([x, y]) => res.push({x, y}))) console.log(res)

從中填充一個數組<textarea>&lt;i&gt;in JavaScript&lt;/div&gt;&lt;/i&gt;&lt;b&gt;在 JavaScript 中&lt;/div&gt;&lt;/b&gt;</textarea><div id="text_translate"><p> 我將如何從&lt;textarea&gt;輸入中的文本填充數組?</p><p> 我的最終目標是獲取一個名稱列表,然后將其插入到一個數組中以執行一些操作。 名稱將由行分隔,如下所示:</p><pre> bob tim sally</pre><p> 然后添加到數組中。 老實說,除了添加&lt;textarea&gt;和創建一個空白數組外,我不知道從哪里開始。 我正在閱讀其他帖子,但它們使用的是 jQuery 或我還不知道的其他語言。 我的理解是我必須以某種方式拆分內容?</p></div>

[英]Populate an array from <textarea> in JavaScript

暫無
暫無

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

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