You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为JavaScript数组添加columns属性,匹配CSVparse输出格式

问题描述

我之前用CSVparse函数得到了如下格式的数组,现在希望直接从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']

现在我想把以下列名数组作为columns属性添加到从AJAX获取的数组中:

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

我试过用retour.push({columns:Colonne})或者retour.splice("Columns", 0, Colonne),但这些方法都会给数组添加数字索引的元素,得到的结果是这样的:

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

我的AJAX代码如下:

$( document ).ready( function(){
    $.ajax({
        type: 'GET',
        url: 'DonneesGraph.php',
        dataType: 'json',
        success: function( retour ) {
            // 此处处理返回的数据,存储在名为retour的JSON中
            
            console.log( "Retour" , retour );

之后我获取了列名并构建了Colonne数组:

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'];

我的目标是给数组添加columns属性,让格式和CSVparse返回的一致。

解决方案

JavaScript里的数组本质是特殊的对象,允许直接给它添加非数字索引的自定义属性,不需要用push或splice(这两个方法是用来操作数组的元素,即数字索引的项)。

直接在AJAX的success回调里,给retour数组赋值columns属性即可:

$( document ).ready( function(){
    $.ajax({
        type: 'GET',
        url: 'DonneesGraph.php',
        dataType: 'json',
        success: function( retour ) {
            const Colonne = ['date', 'Ballon', 'DépartPAC', 'RetourPAC'];
            // 直接给数组添加columns属性
            retour.columns = Colonne;
            
            console.log( "Retour" , retour );
            // 此时retour的格式就和CSVparse返回的一致了
        }
    });
});

这样操作后,retour数组的元素还是原来的那些数据对象,同时会新增一个columns属性,和CSVparse返回的结构完全匹配。

内容的提问来源于stack exchange,提问作者Tetsuochat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 08:31:01