javascript - 连接对象以用于图表

标签 javascript jquery object concatenation

这看起来应该很简单,但我一直在努力解决这个问题,但仍然感到困惑。 Here is a Codepen link to what I have so far.

我需要允许用户选择一个数据集(通过按钮),然后将该数据集添加到当时已选择的任何其他数据集,不会超过 3 或 4 个数据集。我的代码现在看起来像这样:

HTML:

<button onclick="createDataSet(data1);">Add Data 1</button>
<button onclick="createDataSet(data2);">Add Data 2</button>

<button onclick="makeChart();">Make Chart</button>

JS:

var data1 = [{...},{...}];
var data2 = [{...},{...}];

// function is supposed to create a new concatenated dataset 
function createDataSet(data) {
  var dataSet = [];
  dataSet = dataSet.push(data);
  console.log(dataSet);
  return dataSet;
};

function makeChart(chartData){
  LoadChart(chartData);
}

// will make the following functional later
function LoadChart(){
  console.log("chart is made");
}

我尝试使用 concat() 来实现此目的,如下所示:

function createDataSet(data) {
  var temp = [];
  var dataSet = [];
  temp = dataSet.concat(data);
  console.log(temp);
  return dataSet;
};

但这并没有那么有效,我预计我的方法现在在某种程度上存在根本性缺陷。 Again, here is a Codepen link to what I have so far.

感谢您的阅读!

最佳答案

您可以使用Array.prototype.concat()将数组连接到数组变量dataSet:

var data1 = [{"fake": 2132,"data": 2676,"example": "human"}, {"fake": 2132,"data": 2676,"example": "human"}, {"fake": 2132,"data": 2676,"example": "human"}, {"fake": 2132,"data": 2676,"example": "human"}, {"fake": 2132,"data": 2676,"example": "human"}, {"fake": 2132,"data": 2676,"example": "human"}, {"fake": 2132,"data": 2676,"example": "human"}],
    data2 = [{"fake": 32,"data": 76,"example": "human"}, {"fake": 32,"data": 76,"example": "human"}, {"fake": 32,"data": 76,"example": "human"}, {"fake": 32,"data": 76,"example": "human"}, {"fake": 32,"data": 76,"example": "human"}, {"fake": 32,"data": 76,"example": "human"}, {"fake": 32,"data": 76,"example": "human"}],
    dataSet = [];

function createDataSet(data) {
  dataSet = dataSet.concat(data);
}

function makeChart(dataSet){
  console.log(dataSet);
  LoadChart(dataSet);
}

// will make the following functional later
function LoadChart(){
  console.log("chart is made");
}
<button onclick="createDataSet(data1);">Add Data 1</button>
<button onclick="createDataSet(data2);">Add Data 2</button>

<button onclick="makeChart(dataSet);">Make Chart</button>

关于javascript - 连接对象以用于图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41064645/

相关文章:

jquery - ajax调用JQUERY中的变量数据

PHP:如何将 3D 数组转换为 mysql 结果对象?

java - 特定语言的字符串类

javascript - 防止下载 HTML5 视频(右键保存)?

javascript - 在js中计算百分比

javascript - 是否有一个事件在编辑单元格时触发,但值没有改变?

javascript - Kinetic JS Dragbound功能限制线上拖动

javascript - 当没有数据返回时如何完全隐藏jqgrid?

javascript - jquery 如何在某个事物 == true 时中断循环函数?

javascript - 如何获取对象元素的序号?