循环/迭代对象数组以返回字符串数组-Javascript

循环/迭代对象数组以返回字符串数组-Javascript,javascript,arrays,node.js,loops,Javascript,Arrays,Node.js,Loops,我得到了一组如下所示的对象: [{"key":"aaa","value":true},{"key":"bbb","value":false},{"key":"ccc","value":true}] 我如何遍历它以获得一个数组 ["aaa", "bbb", "ccc"] 我正在使用node.js,下面是代码。当我循环遍历它时,只返回第一个“aaa”,并且我想得到一个变量,它是由3个对象组成的数组 router.get('/', function(req, res, next) { db

我得到了一组如下所示的对象:

[{"key":"aaa","value":true},{"key":"bbb","value":false},{"key":"ccc","value":true}]
我如何遍历它以获得一个数组

["aaa", "bbb", "ccc"]
我正在使用node.js,下面是代码。当我循环遍历它时,只返回第一个“aaa”,并且我想得到一个变量,它是由3个对象组成的数组

router.get('/', function(req, res, next) {
    db.executeSql("SELECT this FROM that", function (data, err) {
        if (err) {       
            res.json(err);
        } 
        else {
            for (var i in data) {
                    for (var i=0; i < data.length; i++) {
                        var obj = data[i];
                        for (var property in obj) {
                            var a = (obj[property]);
                                res.json(a);
                                }
                    }
                }
            }   
        }   
        res.end();
    });
  });
router.get('/',函数(req,res,next){
db.executeSql(“从中选择此”,函数(数据,错误){
如果(错误){
res.json(err);
} 
否则{
用于(数据中的var i){
对于(变量i=0;i
如果你能给我指出正确的方向或给我看一些例子,谢谢

var input = [{"key":"aaa","value":true},{"key":"bbb","value":false},{"key":"ccc","value":true}];

var output = input.map(function(datum){
    return datum.key;
});
返回数组[“aaa”、“bbb”、“ccc”]

返回一个数组[“aaa”、“bbb”、“ccc”]

var newArr=[];
var数据=[{“key”:“aaa”,“value”:true},{“key”:“bbb”,“value”:false},{“key”:“ccc”,“value”:true}];
对于(var i=0;i
var newArr=[];
var数据=[{“key”:“aaa”,“value”:true},{“key”:“bbb”,“value”:false},{“key”:“ccc”,“value”:true}];

for(var i=0;i将此代码添加到else语句之后,var output=data.map(函数(datum){return datum.key;});res.json(output);它返回[null,null]我发现您已经发现了下面的问题。一般来说,可以通过您最喜欢的javascript解释器运行我的上述示例,并看到在这种情况下,
输出实际上等于
[“aaa”、“bbb”、“ccc”]
。因此,这里有一些可能性:可能输入错误,并且不匹配。可能您使用代码段的方式不起作用。或者调用方没有正确获得结果。添加调试语句(console.log或其他)应该可以帮助你进一步缩小你的问题范围。你是对的,我使用了一个错误的查询语句。现在我可以看到映射函数没有映射,它只返回整个数组。我在其他地方测试了它,它确实起了作用。你认为它可能与我正在使用的mssql模块有关,还是我在某个地方犯了错误?在添加此co之后de to else语句var output=data.map(函数(datum){return datum.key;});res.json(output);它返回[null,null]我发现您已经发现了下面的问题。一般来说,可以通过您最喜欢的javascript解释器运行我的上述示例,并看到在这种情况下,
输出实际上等于
[“aaa”、“bbb”、“ccc”]
。因此,这里有一些可能性:可能输入错误,并且不匹配。可能您使用代码段的方式不起作用。或者调用方没有正确获得结果。添加调试语句(console.log或其他)通常可以帮助您进一步缩小您的问题范围。您是对的,我使用了错误的查询语句。现在我可以看到映射函数没有映射,它只返回整个数组。我在其他地方测试了它,它确实起了作用。您认为它可能与我正在使用的mssql模块有关,还是我在其他地方犯了错误?
var newArr = [];
var data = [{"key":"aaa","value":true},{"key":"bbb","value":false},{"key":"ccc","value":true}];
for(var i=0;i<data.length;i++){
    newArr.push(data[i].key);
}
return newArr;