总感觉官方的代码喜欢多此一举外加一个啰嗦,是我的错觉嘛

    let mapName = arrMap[Math.floor(Math.random() * arrMap.length)];

这叫代码严谨,就像你手机非要贴膜道理是一样的

额,你可以写个你认为优雅的代码出来,让大家看看官方的是不是啰嗦

咦,感觉这行代码不是必须这么写吗?请楼主赐教怎么优化 :cold_sweat:

从数组里面随机获得一个元素 阁下应该觉得咋写呢?

个人觉得啊,还是把你的也提出来,比较下就行了,因为很多人没那个能力,一眼就看到代码想到优化的点。
当然,也许你只是觉得不合适,但你也没有好想法,那么你应该说出具体你觉得不太好的地方。
单单一句代码,我真想不到啥问题。

没错,就是你的错觉 :smirk:

看到这个代码,多数人第一反应都会这么去写;但如果仔细思考一下的话,那么就会觉得好像还是得这么写。

难道不是应该封装一个math.randomRange(a,b) 吗?

image
引擎的数学库里有,但没有封装一个参数整型参数的,估计觉得就一行代码,不引用也罢?

还能怎么写?少写两个字母?

let mapName = arrMap[~~(Math.random() * arrMap.length)];

如果是我 我估计还要加个Math.floor

mark,我想学习一下简介的写法是怎么样的

这个代码完全没问题啊

可能是变量名太长了,应该
let a = b[(c() * b.length) | 0];

1赞

自带混淆属性,又增加一个岗位。 :joy: :joy: :joy:

这就是防御性编程么,学会了

1赞

let mapName = arrMap[Math.randomRange(1, arrMap.length)];

let mapName = arrMap[randomRangeInt(0, arrmap.length)]
原代码是0-1随机*数组长度再取整,为什么不直接随机一个整数?

randomRangeInt是某个库的函数吧,要引入库的