zl程序教程

您现在的位置是:首页 >  后端

当前栏目

js函数既可以接收单个参数也可以接收数组的方法

JS方法数组 函数 参数 可以 接收 单个
2023-09-11 14:19:39 时间

-

在cesium中,绘制几何图形,一次可以绘制一个,也可以绘制多个;所以很多方法就需要支持传入一个图元信息,也支持传入多个图元信息;

核心思想是:无论是单个参数还是数组,进入函数后都把它放入一个数组中,然后把这个数组展开成一维数组;

下面是3种实现这种函数的方法

1、无论是数组还是单个值都用数组的concat方法并入数组(虽然只是展平一层,但是已经满足了日常的开发需求)

function fnConcat(param) {
  const data = [].concat(param);
}

2、用es6的flat方法展平数组(可接受单个值和多维数组)

function fnFlat(param) {
  let data = [param].flat(Infinity);
}

3、手动写一个数组展平的方法(可接受单个值和多维数组)

展平数组的方法:

function flatten(arr) {
  return [].concat(
    ...arr.map(item => Array.isArray(item) ? flatten(item) : item)
  )
}

在需要用到的函数中使用:

function fnFlatten(param) {
  const data = flatten([param]);
}

 

-