繁体   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