Javascript 数组节点js的数组

Javascript 数组节点js的数组,javascript,arrays,Javascript,Arrays,我正在做一个Api调用来接收一些关于我跟踪的用户的数据。 目前,我收到这样的东西[{obj1},{obj2},{obj3}],我想要这样的东西[{obj1},{obj2},{obj3}]。因为一个用户可以有多个对象 getDashboard = function (req, res) { User.findById(req.params.id, function (err, user) { if (!user) { res.send(404, 'Us

我正在做一个Api调用来接收一些关于我跟踪的用户的数据。 目前,我收到这样的东西[{obj1},{obj2},{obj3}],我想要这样的东西[{obj1},{obj2},{obj3}]。因为一个用户可以有多个对象

 getDashboard = function (req, res) {
  User.findById(req.params.id, function (err, user) {
        if (!user) {
            res.send(404, 'User not found');
        }
        else {
            var a = user.following;
            var promises = a.map(function(current_value) {
            return new Promise(function(resolve, reject) {
            Receta.find({"user_id":current_value._id}, function (err, recetas) {
            if(!err) {              
                    resolve(recetas);
            } else {
                    reject(err);
                    }
            });
            });
            });

            Promise.all(promises).then(function(allData) {
                var proms = allData.map(function(value){
                    return value 
                    });
                res.send(proms);
            }).catch(function(error) {
                res.send(error);
            });
        }
  });
};
编辑我不太确定这是问题所问的,但这是我的解释

所以你想展平一个数组?让我们首先构建一个函数,该函数接受嵌套数组并将其展平到单个级别,如下所示:

function flatten(arr){
    var result = [];
    arr.forEach(element => (
        result = result.concat(element);
    ));
    return result;
}
现在,如果我们有一个3D数组,比如
[[[“hi”]]]
,该怎么办。然后,我们需要将其展平多次。事实上,我们可以递归地这样做

function flatten(arr){
    var result = [];
    arr.forEach(element => (
        result = result.concat(Array.isArray(element) ? flatten(element) : element)
    ));
    return result;
}
每次,我们都可以使用
array.isArray()
检查它是否是一个数组,如果是,则在追加之前将其展平。我们可以递归地编程

function flatten(arr){
    var result = [];
    arr.forEach(element => (
        result = result.concat(Array.isArray(element) ? flatten(element) : element)
    ));
    return result;
}
这就是我们的最终答案。通过第二个函数,我们可以看到
flatten([“hi”,“there”]])
可以工作。

您可以使用ES6
var数据=[“一”、“二”、“三”、“四”、“五”];
结果=[].concat(…数据);
控制台日志(结果);

如果一个用户可以有多个对象,则所需的格式将无法表示该对象。“
allData.map(function(value){return value})
”应该做什么?您想展平数组。用谷歌搜索一下。我的意思是现在我有这样的东西[“一”,“二”,“三]],我想要这个[“一”,“二”,“三”]是的,那么这个答案是给你的:)