首页 > 解决方案 > 如何删除键,但保留结果数组的值?

问题描述

我从 node.js MySQL 查询中提取多行,我希望格式为:

["value1","value2","value3"]

但是我目前的结果是:

[{"temperature":value1},{"temperature":value2},{"temperature":value3}]

我不想要密钥,它是来自同一个 MySQL 列的所有数据。

var sql = "SELECT temperature FROM temperatures";
        con.query(sql, function (err, result) {
            if (err) throw err;
                console.log(result);
                let data = JSON.stringify(result);
                fs.writeFileSync('results.json', data);

我有时间重写代码。谢谢大家,地图功能运行良好。

var sql = "SELECT temperature FROM temperatures";
        con.query(sql, function (err, result) {
            if (err) throw err;
                var newresult = result.map( value => value.temperature);
                let data = JSON.stringify(newresult);
                console.log('Queried JSON Data: \n' + data + '\n');
                fs.writeFileSync('results.json', data);
        });
    };

标签: node.jsjson

解决方案


你可以使用 forEach 或 Map

var kvArray = [{"temperature":"value1"},{"temperature":"value1"},{"temperature":"value1"}];

//example for map.
var rObj = kvArray.map( value => value.temperature);

//example for foreach.

var rObj = [];
kvArray.forEach( (value) => { 
   return rObj.push(value.temperature);   
});

console.log(kvArray , rObj)
// rObj = (3) ["value1", "value1", "value1"]

// kvArray is still: 
//[{"temperature":"value1"},{"temperature":"value1"},{"temperature":"value1"}];


推荐阅读