Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象数组加载两次而不是一次,导致图形方向混乱_Javascript_Html_Arrays_Sorting_Csv - Fatal编程技术网

Javascript 对象数组加载两次而不是一次,导致图形方向混乱

Javascript 对象数组加载两次而不是一次,导致图形方向混乱,javascript,html,arrays,sorting,csv,Javascript,Html,Arrays,Sorting,Csv,我一直在尝试加载csv文件来绘制图表。下面是用于排序数组和绘制图表的代码示例 var data = []; console.log("here"); d3.csv("data.csv", function(csvData) { csvData.forEach(function (d,i) { data[i] = { first: +d.first, second: +d.second, text: d.text } });

我一直在尝试加载csv文件来绘制图表。下面是用于排序数组和绘制图表的代码示例

var data = [];
       console.log("here");

d3.csv("data.csv", function(csvData) {

csvData.forEach(function (d,i) {
    data[i] = {
      first: +d.first, 
      second: +d.second,
      text: d.text
    } 
});
console.log(data);

var tmp = data;
tmp.forEach(function(d) { data.push(d); });

var sortedData = data.sort(function(a,b) { 
return a.text > b.text ; 
});


console.log(data);


    var text = [];

 d3.csv("text.csv", function(csvData) {

csvData.forEach(function (d,i) {
    datam[i] = {
      first: +d.textlist
    } 
});
console.log(text);
下面是完整图表的链接。此代码的问题是,对象数组被加载两次,即data.csv被加载两次对象数组0,对象数组1包含相同的值和2,3相同的值。如何克服这个问题并加载csv文件?我想要一个这样的情节

但我有这样一个情节

我想你的问题可能在这里:

var tmp = data;
tmp.forEach(function(d) { data.push(d); });
声明
tmp
时,您正在创建对
数据的引用,而不是复制它。因此,您实际上是在复制数据,因为
tmp
data
是同一个数组

相反,您需要将
tmp
定义为一个新数组,如下所示:

var tmp = [];
tmp.forEach(function(d) { data.push(d); });

Jim O'Brien-如何在不重复的情况下推送数据?使用var tmp=[];要创建一个空的ArrayBial-数据现在加载一次,但结果与图表相同,输出中没有任何变化,可以按如下方式排序:var sortedData=data.sort(函数(a,b){return a.text>b.text;});赋值var tmp=[]?是-
tmp
data
是不同的变量。