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

-

在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]);
}

 

-

posted @   古墩古墩  Views(884)  Comments(0Edit  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2019-05-21 超好用的富文本编辑器Summernote的使用
2019-05-21 vueX的简单使用
点击右上角即可分享
微信分享提示