前端函数分析

1.fitter函数

filter 是 JavaScript 数组的一个方法,用于创建一个新数组,包含通过所提供函数实现的测试的所有元素。简单来说,filter 方法用于提取数组中满足特定条件的元素。

array.filter(function callback(element, index, array) {
  // 返回布尔值
}, thisArg);
  • callback:用于测试数组中每个元素的函数。它接受以下参数:
    • element:当前遍历到的数组元素的值。
    • index(可选):当前元素的索引。
    • array(可选):正在遍历的数组。
  • thisArg(可选):执行 callback 函数时使用的 this 值。

返回值:

  • 返回一个新数组,包含通过 callback 函数测试(返回 true)的所有元素。
  • filter 方法不会改变原始数组。
  • filter 方法会创建一个新数组,包含所有通过测试函数的元素。
  • 如果没有元素通过测试,filter 返回一个空数组。
  • 如果测试函数始终返回 false,则 filter 返回一个空数组。
  • filter 方法对空位不执行回调函数,但会保留空位在结果数组中

2.地图视角设置

viewControl: {
        autoRotate: false,//自动旋转
        autoRotateAfterStill: 3,
        distance: 100,//距离你最近的距离
        minAlpha: 15,//最小的角度
        maxAlpha: 90,//最大的角度设置
        minBeta: -360,
        maxBeta: 360000,
        animation: true,
        autoRotateSpeed: 3,
      },

3.过滤想要的数据

let value = typedata.map((city) => {
    return {
      name: city.name, // 提取城市名称
      value: [city.longitude, city.latitude, city.value], // 创建包含经纬度的数组
    };
  });

通过map来过滤所需求的数组,进行后续操作,这里相当于在typedata数据中过滤我们返回的value值,

4.地图的三维柱状图

const xxx = {
  name: "xxx",
  type: "bar3D",
  minHeight: 4.2, // 坑,需要大于0,否则最低的柱状图渲染会出问题
  coordinateSystem: "geo3D", // 采用geo3D的坐标系统
  barSize: 1.4, // 柱状图的粗细
  shading: "lambert", // lambert比color看着更加真实
  bevelSize: 0.72, // 长方体向圆柱的过渡效果
  itemStyle: {
    // 这里也可以设置默认的颜色,但如果 visualMap 存在,它可能会被覆盖
    color: "#700", // 示例,通常不需要设置
  },
  label: {
    show: true,
    distance: 0.36,
    color: "#333",
    textStyle: {
      fontWeight: "bold",
    },
    //设置点击事件,对这个数组里的数据取标签
    formatter(params: any) {
      // console.log("params.value[2]:", params.value[2]);
      return params.value[2] + "个";
    },
  },
  data: [],//数据
};

注:这里的bar3d需要和geo3d一起使用,才可以生效,在三维地图上显示3d的立体柱状图 

你可能感兴趣的:(前端,算法)