对于下面的代码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);
答案 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"]