Javascript数组转换

Javascript数组转换,javascript,arrays,Javascript,Arrays,我有一个无法更改的函数,该函数查询数据库中的数据,并返回一个变量,如果显示为文本,该变量将显示为以下格式: var outputdata= [ { itemA: 'M0929', itemDate: new Date(1950,03-1,25,0,0,0,0), itemID: 'JDR12' }, { itemA: 'X0121', itemDate: new Date(1983,07-1,07,8,0,0,0), itemID: 'RPN50'

我有一个无法更改的函数,该函数查询数据库中的数据,并返回一个变量,如果显示为文本,该变量将显示为以下格式:

var outputdata=
    [
        { itemA: 'M0929',  itemDate: new Date(1950,03-1,25,0,0,0,0),  itemID: 'JDR12' },
        { itemA: 'X0121',  itemDate: new Date(1983,07-1,07,8,0,0,0),  itemID: 'RPN50' },
        { itemA: 'U0229',  itemDate: new Date(1942,09-1,07,8,0,0,0),  itemID: 'CRG98' },
    ];
我需要将其转换为以下格式特定的日期格式对于另一个我也无法更改的函数的使用并不重要

var inputdata=[
        [
            "M0929",
            "1950-03-25",
            "JDR12"
        ],
        [
            "X0121",
            "1983-07-07",
            "RPN50"
        ],
        [
            "U0229",
            "1942-09-07",
            "CRG98"
        ]
    ];

有人能提供一些帮助吗。。。我不太了解javascript数组,我真的需要一个函数来进行转换。

您可能需要自己编写它,例如:

function pad (what)
{
    return what < 10 ? '0'+what : String(what);
}
function transformData (data)
{
    var result = [];
    for (var i=0;i<data.length;++i)
    {
        var date = data[i]['itemDate'];
        result.push([
            data[i]['itemA'],
            date.getFullYear()+'-'+pad(date.getMonth())+'-'+pad(date.getDate()),
            data[i]['itemID']
        ]);
    }
    return result;
}

var outputdata=
    [
        { itemA: 'M0929',  itemDate: new Date(1950,03-1,25,0,0,0,0),  itemID: 'JDR12' },
        { itemA: 'X0121',  itemDate: new Date(1983,07-1,07,8,0,0,0),  itemID: 'RPN50' },
        { itemA: 'U0229',  itemDate: new Date(1942,09-1,07,8,0,0,0),  itemID: 'CRG98' },
    ];

var result = transformData(outputdata);

alert(result.join("\n"));

现在,需要注意的是UTC日期的性质。更多细节可以在这里找到。另外,我强烈建议您阅读更多有关Javascript的内容。

您可能需要自己编写,例如:

function pad (what)
{
    return what < 10 ? '0'+what : String(what);
}
function transformData (data)
{
    var result = [];
    for (var i=0;i<data.length;++i)
    {
        var date = data[i]['itemDate'];
        result.push([
            data[i]['itemA'],
            date.getFullYear()+'-'+pad(date.getMonth())+'-'+pad(date.getDate()),
            data[i]['itemID']
        ]);
    }
    return result;
}

var outputdata=
    [
        { itemA: 'M0929',  itemDate: new Date(1950,03-1,25,0,0,0,0),  itemID: 'JDR12' },
        { itemA: 'X0121',  itemDate: new Date(1983,07-1,07,8,0,0,0),  itemID: 'RPN50' },
        { itemA: 'U0229',  itemDate: new Date(1942,09-1,07,8,0,0,0),  itemID: 'CRG98' },
    ];

var result = transformData(outputdata);

alert(result.join("\n"));
function convert(outputdata){
  var arr = [];
 for(var i = 0; i<outputdata.length; i++){
    var output = outputdata[i];
    var temp = [output.itemA, output.itemDate, output.itemID];
    arr[i] = temp;
 } 
 return arr;
}
现在,需要注意的是UTC日期的性质。更多细节可以在这里找到。另外,我强烈建议阅读更多关于Javascript的一般知识

function convert(outputdata){
  var arr = [];
 for(var i = 0; i<outputdata.length; i++){
    var output = outputdata[i];
    var temp = [output.itemA, output.itemDate, output.itemID];
    arr[i] = temp;
 } 
 return arr;
}
已编辑:已初始化arr


已编辑:已初始化的arr.

不是完整的响应,因为这闻起来像是家庭作业,如果是,您应该这样标记它。因此,首先:

您可以通过编写类似于“[7,9*7,ho]的内容来创建数组 您可以使用点表示法获取属性,如obj.itemA
不是一个完整的回答,因为这闻起来像是家庭作业,如果是,你应该给它贴上这样的标签。因此,首先:

您可以通过编写类似于“[7,9*7,ho]的内容来创建数组 您可以使用点表示法获取属性,如obj.itemA
最好推迟家庭作业问题,而不仅仅是为他们做。如果一个人今天不一定能从网上学到有用的东西,那将是一个好日子。最好推迟家庭作业问题,如果一个人今天不一定在网上学到了一些有用的东西,那这将是一个好日子。最好推迟家庭作业问题,而不是仅仅为他们做。将来会小心的。对于这篇文章,我无能为力。即使我删除了它,也会有修改。初学者的问题和家庭作业是有区别的。我认为OP并不精通javascript和/或编程,但这听起来像是一个现实问题。最好不要再提家庭作业问题,而不仅仅是为他们做。将来会小心的。对于这篇文章,我无能为力。即使我删除了它,也会有修改。初学者的问题和家庭作业是有区别的。我认为OP并不精通javascript和/或编程,但它听起来像是一个现实问题。感谢您的回复-我将尝试其中一些。不,这不是家庭作业。。。只需要使用数据库功能将数据从系统中取出并输入dhtmlxGrid控件。感谢您的回复-我将尝试其中一些。不,这不是家庭作业。。。只需要使用数据库功能将数据从系统中取出,并输入到dhtmlxGrid控件中。Middle-man=作业?这完全是假设。“警告群众”的重复评论太多了,伙计。这听起来像是家庭作业,因为1它很简单,能用任何语言编程的人都能在比张贴在这里所需的时间更短的时间内完成它,2任意接近边界,他不允许更改3由全新用户发布的内容,4…你得到ideaMiddle man=家庭作业了吗?这完全是假设。“警告群众”的重复评论太多了,伙计。这听起来像是家庭作业,因为1这很简单,能用任何语言编程的人应该能够在比在这里发布所需时间更短的时间内完成它,2任意接近边界,他不允许更改3由全新用户发布的内容,4…你明白了