echarts图表数据重写提示框信息,使提示框内的数字每3位以逗号分割

678 阅读1分钟
tooltip: {
          trigger: "axis",
          axisPointer: {
            type: "shadow",
            textStyle: {
              color: "#fff",
              fontSize: "26",
            },
          },
          formatter: function (parms) {
            let str = "",
              reg;
            parms.forEach((item) => {
              if (item.value) {
                item.value = item.value.toString();
                reg = item.value.indexOf(".") > -1 ? /(\d)(?=(\d{3})+\.)/g : /(\d)(?=(?:\d{3})+$)/g;
                str += item.marker + "" + item.seriesName + ":" + item.value.replace(reg, "$1,") + "万" + "<br/>";
              }
            });
            return paramsName + "<br/>" + parms[0].name + "<br/>" + str;
          },
        },

/(\d)(?=(\d{3})+.)/g这段正则的意思:

匹配/(\d)(?=(\d{3})+.)/g数字后面是三个数字或者3的倍数个数字,后面跟小数点。d{3})+表示3的倍数个数字,如3个数字6个数字等,?=表示后面一定是3的倍数个数字