Echarts通过ajax获取数据push数组为全局变量不断叠加的解决方案

在这里插入图片描述
如果PUSH的数组为全局变量,尤其是定时刷新,会不断的进行数组叠加,影响数据的使用。

    function getToolTip0() {
        $.ajax({
            type: 'get',
            async: false,
            data: {
                //气泡信息阅读后,自动销毁;
            },
            url: './json/scatter.json',
            dataType: "json",
            success: function (result) {
                tipData0 = result.data;
                //当前气泡的数据;
                for (var i = 0; i < tipData0.length; i++) {
                    communityData0.push({
                        name: tipData0[i].areaName,
                        value: [tipData0[i].areaLon, tipData0[i].areaLat, tipData0[i].areaId]
                    })
                }
            },
            error: function (err) {
                console.log(err + "图表请求数据失败!");
            }
        });
        return tipData0, communityData0;
    }

    getToolTip0();

解决方案:
1、success返回时,清空数组,然后再PUSH.

      success: function (result) {
                tipData0 = result.data;
                //清空全局数组变量,防止多次刷新叠加;
                 communityData0 = [];
                //当前气泡的数据;
                for (var i = 0; i < tipData0.length; i++) {
                    communityData0.push({
                        name: tipData0[i].areaName,
                        value: [tipData0[i].areaLon, tipData0[i].areaLat, tipData0[i].areaId]
                    })
                }
            },

2、数组去重:

//全局变量数据对象去重函数;
function getArr(arr) {
    var result = [];
    var obj = {};
    for (var i = 0; i < arr.length; i++) {
        if (!obj[arr[i].name]) {
            result.push(arr[i]);
            obj[arr[i].name] = true;
        }
    }
    return result;
}
   var arr = [

        {
            "name": "营子社区",
            "value": [
                "120.388081",
                "36.192447",
                "1"
            ]
        },
        {
            "name": "华泰社区",
            "value": [
                "120.392194",
                "36.194542",
                "2"
            ]
        },
        {
            "name": "营子社区",
            "value": [
                "120.388081",
                "36.192447",
                "1"
            ]
        },
        {
            "name": "华泰社区",
            "value": [
                "120.392194",
                "36.194542",
                "2"
            ]
        }

    ];



    console.log(getArr(arr))

Done!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章