如何在字符串替换后删除字符串

时间:2017-04-28 04:50:03

标签: javascript node.js express

对于下面的代码ins的输出(假设键的值是夏天,春天,秋天,冬天)是:

['req.body.summer, req.body.spring, req.body.fall, req.body.winter']

我想要的是在replace命令后删除字符串,所以我可以将它插入到我的SQLite查询中。所以输出必须是:

[req.body.summer, req.body.spring, req.body.fall, req.body.winter]

我刚接触编程,请耐心等待。谢谢!

var arr = '';

Object.keys(input).forEach(function(key) {
  arr += 'req.body.' + key + ', ';
});

var ins = [arr.replace(/,\s*$/, '')];

console.log(ins);

3 个答案:

答案 0 :(得分:1)

试试这个......

只需将arr声明为数组并将值推入其中。

var arr = [];
var input = ['summer', 'spring', 'fall', 'winter'];
(input).forEach(function(key,value) {
  arr.push('req.body.' + key);
});


console.log(arr);

答案 1 :(得分:1)

如果输入是一个字符串数组,例如'summer',那么请执行以下操作:

var arr = input.map(key => req.body[key]);

// Sample input
var input = ['summer', 'spring', 'fall', 'winter'];

// Sample req:
var req = {
    body: {
        summer: 'sun',
        spring: 'birds',
        fall: 'leaves',
        winter: 'snow'
    }
};

var arr = input.map(key => req.body[key]);

console.log(arr);

如果您更喜欢function语法而不是=>

var arr = input.map(function (key) {
    return req.body[key];
});

答案 2 :(得分:1)

您正在寻找一个字符串对象数组

var arr = new Array() ;var input= { 'spring':'a','summer': 'b'}
    Object.keys(input).forEach(function(key) {
      arr.push('req.body.' + key);
    });
    console.log(arr); // Prints ["req.body.spring", "req.body.summer"]