两个物体之间的差异

时间:2019-04-02 08:29:05

标签: javascript

我正在尝试使用OpenStreetMap API。在文档中,我们有一个对象示例:

var villes = {
            "Dijon": { "lat": 47.3215806, "lon": 5.0414701 },
            "Montbard": { "lat": 47.6241674, "lon": 4.3373194 }
        };

现在,我想用一个动态对象替换此静态对象,该对象在循环中动态分配,并且每次迭代都通过Object.assign()添加到该对象中

结果,对象看起来格式正确,但是不起作用。我可以看到的唯一区别是在控制台中。它们之间有什么区别?我听不懂(第一个看起来是空的,但是值存储得很好。第二个正在工作,它是静态的)

enter image description here


编辑:在下面添加的代码

以下是构建动态对象的代码:

var mesvilles = {};
        var ville_current = {};

        for (let i=0; i < cities.length; i++){
            $.getJSON('https://nominatim.openstreetmap.org/search.php?q='+cities[i]+'&country=France&format=json', function(data) {

                ville_current = {[cities[i]]: {"lat": parseFloat(data[0].lat), "lon": parseFloat(data[0].lon)}};
                mesvilles = Object.assign(mesvilles,ville_current);
            });
        }
        console.log(mesvilles);

这是原始对象:

var villes = {
            "Dijon": { "lat": 47.3215806, "lon": 5.0414701 },
            "Montbard": { "lat": 47.6241674, "lon": 4.3373194 }
        };
        console.log(villes);

0 个答案:

没有答案