簡體   English   中英

如何將 object 作為屬性添加到數組

[英]How to add object as properties to array

您好,我從 CSVparse function 獲得以下數組。我試圖直接從 JSON 獲取我的數據,而不創建 csv 文件。

DATA (2) [{…}, {…}, columns: Array(4)]
0: {date: '2022-11-08 04:00:00', Ballon: '0.58', DepartPAC: '23.32', RetourPAC: '21.94'}
1: {date: '2022-11-08 04:01:00', Ballon: '0.59', DepartPAC: '23.98', RetourPAC: '21.58'}
columns: (4) ['date', 'Ballon', 'DepartPAC', 'RetourPAC']

所以現在我不明白如何將以下屬性 Colonne 添加到我的數組中:

const Colonne = ['date', 'Ballon', 'DépartPAC', 'RetourPAC'];

正如我所嘗試的那樣,給出了一個自動索引,我希望將字符串列作為索引(我知道索引只能是數字,但它似乎是可能的)因為這不是作為索引而是作為屬性添加的。 我得到以下結果:

(2) [Array(77), {…}]
0:(77) [{…}, {…}, {…}, {…}, {…}, {…}]
1:{id: 'columns', values: Array(4)}

使用此代碼:

 retour.push({columns:Colonne});
//or
retour.splice("Columns", 0, Colonne);

我正在使用 AJAX 獲取我的數據:

$( document ).ready( function(){
    $.ajax({
        type: 'GET',
        url: 'DonneesGraph.php',
        dataType: 'json',
        success: function( retour ) {
            // Ici le traitement des données retournées placé dans quelquechose=JSON ? appelé retour 
            
            console.log( "Retour" , retour );

然后我得到列的名稱並可以建立我的 object 列:

const Lenght =Object.keys(retour[0]).length;
const Nom=Object.keys(retour[0]);
console.log("Nombre de colonnes",Lenght);
console.log("Nom",Nom[2]);
const Colonne = ['date', 'Ballon', 'DépartPAC', 'RetourPAC'];

所以目標是將這個 object 列放入我的數組中,如下所示:

DATA (2) [{…}, {…}, columns: Array(4)]
0: {date: '2022-11-08 04:00:00', Ballon: '0.58', DepartPAC: '23.32', RetourPAC: '21.94'}
1: {date: '2022-11-08 04:01:00', Ballon: '0.59', DepartPAC: '23.98', RetourPAC: '21.58'}
columns: (4) ['date', 'Ballon', 'DepartPAC', 'RetourPAC']

希望我的解釋足夠清楚。 謝謝

我完全不明白你的問題。 但我認為你正在努力實現這樣的目標。

{
  date: [ '2022-11-08 04:00:00', '2022-11-08 04:01:00' ],
  Ballon: [ '0.58', '0.59' ],
  DepartPAC: [ '23.32', '23.98' ],
  RetourPAC: [ '21.94', '21.58' ]
}

這是它的代碼。

let data = [
    {
        date: '2022-11-08 04:00:00', 
        Ballon: '0.58', 
        DepartPAC: '23.32', 
        RetourPAC: '21.94'
    }, 
    {
        date: '2022-11-08 04:01:00', 
        Ballon: '0.59', 
        DepartPAC: '23.98', 
        RetourPAC: '21.58'
    }];

function getColumnWiseData(data) {
    let columnWiseData = {};
    let columns = Object.keys(data[0]);
    columns.forEach((column) => {
        columnWiseData[column] = [];
    });
    data.forEach((row) => {
        columns.forEach((column) => {
            columnWiseData[column].push(row[column]);
        });
    });
    return columnWiseData;
}

console.log(getColumnWiseData(data));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM