2014-04-04 71 views
-1

我從函數中檢索數據並將其存儲在以如下方式構造的Javascript數組中。組織Javascript數組

當我打印我的數組,我得到的follwoing

day,views,likes,shares,comments,dislikes,estimatedMinutesWatched,favoritesAdded,favoritesRemoved, 
2014-03-07,2,0,0,0,0,1,0,0, 
2014-03-22,0,0,0,0,0,0,0,0, 
2014-03-09,0,0,0,0,0,0,0,0, 
2014-03-12,1,0,0,0,0,1,0,0, 
2014-03-25,1,0,0,0,0,0,0,0, 
2014-03-26,1,0,0,0,0,0,0,0, 
2014-03-08,1,0,0,0,0,1,0,0, 
2014-03-16,1,0,0,0,0,0,0,0, 
2014-03-19,0,0,0,0,0,0,0,0, 
2014-03-23,0,0,0,0,0,0,0,0, 
2014-03-13,1,0,0,0,0,1,0,0, 
2014-03-10,1,0,0,0,0,2,0,0, 
2014-03-14,0,0,0,0,0,0,0,0, 
2014-03-31,2,0,0,0,0,1,0,0, 
2014-04-02,0,0,0,0,0,0,0,0, 
2014-03-11,0,0,0,0,0,0,0,0, 
2014-03-30,4,0,0,0,0,2,0,0, 
2014-03-21,1,0,0,0,0,0,0,0, 
2014-03-06,0,0,0,0,0,0,0,0, 
2014-03-05,1,0,0,0,0,0,0,0, 
2014-03-27,6,0,0,0,0,2,0,0, 
2014-03-15,2,0,0,0,0,2,0,0, 
2014-03-17,0,0,0,0,0,0,0,0, 
2014-03-24,1,0,0,0,0,0,0,0, 
2014-03-28,17,0,0,0,0,9,0,0, 
2014-04-01,1,0,0,0,0,0,0,0, 
2014-03-29,3,0,0,0,0,1,0,0, 
2014-03-18,0,0,0,0,0,0,0,0, 
2014-03-20,1,0,0,0,0,1,0,0 

我想,使其出現在以下方式修改上面的數組,然後存儲內容的CSV文件

day,views,likes,shares,comments,dislikes,estimatedMinutesWatched,favoritesAdded,favoritesRemoved, 
2014-03-07,2,0,0,0,0,1,0,0, 
day,views,likes,shares,comments,dislikes,estimatedMinutesWatched,favoritesAdded,favoritesRemoved, 
2014-03-22,0,0,0,0,0,0,0,0, 
day,views,likes,shares,comments,dislikes,estimatedMinutesWatched,favoritesAdded,favoritesRemoved, 
2014-03-09,0,0,0,0,0,0,0,0, 
day,views,likes,shares,comments,dislikes,estimatedMinutesWatched,favoritesAdded,favoritesRemoved, 
2014-03-12,1,0,0,0,0,1,0,0, 
day,views,likes,shares,comments,dislikes,estimatedMinutesWatched,favoritesAdded,favoritesRemoved, 
2014-03-25,1,0,0,0,0,0,0,0, 
day,views,likes,shares,comments,dislikes,estimatedMinutesWatched,favoritesAdded,favoritesRemoved, 
2014-03-26,1,0,0,0,0,0,0,0, 

有沒有想法?

+2

數據是「日」,「視圖」等標籤嗎? – Andy

+0

對於csv,您需要一些數據結構。標籤通常位於第一行,之後每個換行符後面都會有一條記錄。既然你在一個數組中擁有了所有的東西,你就必須假設一個記錄中的字段數。除非你真的能夠以更加結構化的形式獲取數據。 –

+0

是的,'''views'是數據的標籤視圖 – user3172841

回答

0

如果我有很好的理解,你有一個一維數組,你想要一個矩陣?

這裏有9個標籤吧?所以你可以使用:

function arrayToMatrix(array, colums) { 
    var matrix = [], size = array.length;  
    for (i = 0, k = -1; i < size; i++) { 
     if (i % colums=== 0) { 
      k++; 
      matrix[k] = []; 
     }  
     matrix[k].push(array[i]); 
    }  
    return matrix; 
} 

所以使用:

var matrix = arrayToMatrix(array,9); 

然後,你必須打印在CSV。

function matrixToCSV(matrix){ 
    var result = ''; 
    for (var i = 0; i < matrix.length; i++){ 
      for (var j = 0; i < matrix[i].length; j++){ //print each line 
       if (j == 0){ 
        result += matrix[i][j]; 
       }else{ 
        result += ',' + matrix[i][j]; 
       }    
      } 
      result += ';\n'; //new line 
    } 
    return result; 
} 

然後:

var CSVFile = matrixToCSV(matrix); 

注:CSV,則不需要重複的標籤。

+0

非常感謝。你能給我Csv的功能嗎? – user3172841

+0

@ user3172841可以嗎? – Gwenc37

+0

我得到一個ReferenceError:列表未在此行上定義\t matrix [k] .push(list [i]); – user3172841