2017-05-18 2 views
0

オブジェクトを返す関数を実行しています。 この場合、queryが初期オブジェクトです。queryにもっと多くのキー/値を追加したいのですが、query.location.cityのようにキー/値を追加していますが、.でネスティングして値を割り当てることはできないようです。Javascriptオブジェクトのネストされたkay値のペア

どのようにこれを達成できますか?

const _ = require('lodash'); 

let queryBuilder = function (obj) { 

    let query = {}; 

    // City 
    if(_.has(obj, 'city')) { 
    query.location.city = obj.city ; 
    } 

    // Country 
    if(_.has(obj, 'country')) { 
    query.location.country_code = obj.country; 
    } 

    return query; 

}; 

module.exports = queryBuilder; 
+3

「場所」がないので、追加する必要があります。 'query.location = query.location || {} ' – epascarello

答えて

4

ロケーションobjを作成する必要があります。

const _ = require('lodash'); 

let queryBuilder = function (obj) { 

    let query = {}; 

    // City 
    if(_.has(obj, 'city')) { 
    query.location = { 
     city: obj.city 
    }; 
    } 

    return query; 

}; 

module.exports = queryBuilder; 
関連する問題