连接对象以用于图表

Concatenating objects to use for a chart

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

我需要允许用户 select 一个数据集(通过一个按钮),然后将该数据集添加到当时已经 selected 的任何其他数据集,那里不会超过 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>