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!

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