首页 > 解决方案 > 如何将值从异步响应数据推送到数组?

问题描述

我正在开发一个客户端-服务器项目。当我用 HTML 编写脚本时。我很难推送我必须排列的数据。以下是源代码片段:

    var latitude = [];
    async function getapi(url){
        const response = await fetch(url);
        var data = await response.json();
        show(data);
        return data;
    }
    
    getapi(api_url);
    function show(data){
        for (r in data){
            latitude.push(data[r]['DepLat'];
            var dep_marker = new mapboxgl.Marker({color: 'red'})
            .setLngLat([data[r]['DepLng'],data[r]['DepLat']])
            .addTo(map);
            var arr_marker = new mapboxgl.Marker({color: 'cyan'})
            .setLngLat([data[r]['ArrLng'],data[r]['ArrLat']])
            .addTo(map);
        }
    }

我在latitude调用 show(data) 后得到的结果仍然是空的。谢谢你。

标签: javascriptarrays

解决方案


你有一个错字。您推送值的行缺少右括号。

function show(data){
    for (r in data){
    // your code says .push(
         latitude.push(data[r]['DepLat'];
      // rest of your code
 }

这样做

function show(data){
    for (r in data){
        latitude.push(data[r]['DepLat']);
       // rest of your code
}

推荐阅读