如何将Object.keys作为变量而不是array.push中的文本?

时间:2017-05-02 00:58:52

标签: javascript arrays node.js express ejs

帮助我的问题是程序运行时,Object.keys上的值是在文本上,我希望它在变量形式上,所以它会在EJS上调用它。

console.log(arr)的输出将是(见下面的代码):

[
    'req.body.name',
    'req.body.age',
    'req.body.sex',
    '2017-05-02 08:43:13',
    '031418003000',
    '1222',
    '1234',
    '01'
]

第一个arr.push(带有Object.keys foreach循环的那个)是前三个元素被称为文本,我希望它在变量上或看起来像第二个arr.push。

第二个arr.push(最后一次推送使用dateString变量的那个)是正确的,因为它是从EJS调用的。

var arr = [];
var m = new Date();

var input = JSON.parse(JSON.stringify(req.body));

var dateString =
m.getFullYear() + "-" +
("0" + (m.getMonth()+1)).slice(-2) + "-" +
("0" + m.getDate()).slice(-2) + " " +
("0" + m.getHours()).slice(-2) + ":" +
("0" + m.getMinutes()).slice(-2) + ":" +
("0" + m.getSeconds()).slice(-2);

Object.keys(input).forEach(function(key) {
  arr.push('req.body.' + key);
});
arr.push(dateString, req.body.eacode, req.body.hcn, req.body.shsn, req.body.MEMBER_CODE );

console.log(arr);

0 个答案:

没有答案