javascript - 如何在数组对象中插入元素

标签 javascript angularjs arrays

给出以下响应:

response=[{"long":"long_value1","lat":"lat_value1","ts":"ts_value"},{"long":"long_value2","lat":"lat_value2","ts":"ts_value"},{"long":"long_value3","lat":"lat_value3","ts":"ts_value"},{"long":"long_value4","lat":"lat_value4","ts":"ts_value"}]

然后使用 API,我尝试下一步执行此操作,以便在响应中插入“地址”属性:

    for(var i in response){
      $http.get(url(i)).success(function(response2){
        response[i].address = response2.valueToassign;        
                });
}

我的问题是“address”属性仅插入到最后一个对象中,如下所示:

 response=[{"long":"long_value1","lat":"lat_value1","ts":"ts_value"},{"long":"long_value2","lat":"lat_value2","ts":"ts_value"},{"long":"long_value3","lat":"lat_value3","ts":"ts_value"},{"long":"long_value4","lat":"lat_value4","ts":"ts_value", "address":"address_value4}]

这个循环如何在数组的每个对象中插入“地址”?

最佳答案

您的代码的问题在于它是异步的,在循环执行之前
试试这个

        var responses = [{"long":"long_value1","lat":"lat_value1","ts":"ts_value"},{"long":"long_value2","lat":"lat_value2","ts":"ts_value"},{"long":"long_value3","lat":"lat_value3","ts":"ts_value"},{"long":"long_value4","lat":"lat_value4","ts":"ts_value"}]

            function uploader(i){
            if(i< responses.length)
            {
            $http.get(url).success(function(response2){
                           if(response2){
                    response[i].address = response2.valueToassign; 
                  uploader(i+1) 
    }
    else{
         alert('resposnse output is blank');
         uploader(i+1)
      }    
 });

            }
            else{
            console.log(response);
            }
            }
            uploader(0)

关于javascript - 如何在数组对象中插入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42558213/

相关文章:

javascript - 具有动态内容的 slider 不起作用

javascript - 有没有办法在 JQuery 和 AngularJS 中用 touchend 监听器替换所有点击监听器?

javascript - 在 vuejs 中使用 summernote

Perl 映射 - 需要将一个数组映射到一个散列中作为 arrayelement->array_index

javascript - 如何在 AngularJs 中编写收集 ng-click 事件的数组?

javascript - Angular2 找不到嵌套模块

javascript - 使用 ng-view 并按需加载 Controller

asp.net-mvc - 对于 AngularJs 或 Backbone Js 或 KnockOutJs 最好的 asp.net mvc?

javascript - 在没有 RequireJS 的情况下使用 Angular Dragula

python - 将 pandas 数据框转换为 NumPy 数组