Para ese código a continuación, la salida de ins (supongamos que el valor de las claves es verano, primavera, otoño, invierno) es:
['req.body.summer, req.body.spring, req.body.fall, req.body.winter']Lo que quiero es eliminar la cadena después del comando de reemplazo, para poder insertarla en mi consulta de SQLite. Entonces la salida debe ser:
[req.body.summer, req.body.spring, req.body.fall, req.body.winter]Soy nuevo en la programación, así que tengan paciencia conmigo. ¡Gracias!
var arr = ''; Object.keys(input).forEach(function(key) { arr += 'req.body.' + key + ', '; }); var ins = [arr.replace(/,\s*$/, '')]; console.log(ins);Prueba esto...
Simplemente declare arr como una matriz y empuje los valores en ella.
var arr = []; var input = ['summer', 'spring', 'fall', 'winter']; (input).forEach(function(key,value) { arr.push('req.body.' + key); }); console.log(arr);Si la entrada es una matriz de cadenas, como 'verano', haga lo siguiente:
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); Si prefiere la sintaxis de la function en lugar de => :
var arr = input.map(function (key) { return req.body[key]; });Lo que está buscando una matriz de objetos de cadena
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"]