Javascript 数组转换

标签 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' },
        { 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 日期的性质。可以在此处找到更多详细信息 http://www.w3schools.com/jsref/jsref_obj_date.asp .此外,我强烈建议您阅读更多有关 Javascript 的一般信息。

关于Javascript 数组转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/660767/

相关文章:

javascript - 如何获取随机 json 数据并附加到 div 元素

c - 对于整数数组 |a|和整数 |i|在 C 中,a[i] 给出与 i[a] 相同的结果

javascript - 从 Javascript 中的字符串生成函数

Java 按位运算符未按预期工作

c - 将 strcpy 应用于指向数组的指针 + some_offset

java - 为什么Java支持数组的数组,而不是多维数组?

c - char *a[10] 的 strcat 问题

javascript - 在 jQuery UI 菜单中使用 addClass

javascript - 如果javascript中发生 "else"语句,如何使页面在2秒后重新加载

javascript - 在href中附上文章的链接