判断数组 length 等于 0,怎么编码比较优雅?与 0 比较还是取反?

2020-05-07 15:43:16 +08:00
 chenliangngng

arr.length === 0

!arr.length

考虑语义、执行效率、代码量等

4564 次点击
所在节点    JavaScript
27 条回复
aogu555
2020-05-07 15:53:21 +08:00
JSON.stringify(arr) === '[]'
aogu555
2020-05-07 15:53:35 +08:00
我来个不优雅的 hhh
cnmllll
2020-05-07 15:54:09 +08:00
arr.length === 0
dragonbuf
2020-05-07 15:56:08 +08:00
isEmpty(arr) {return arr.length === 0}
SilentDepth
2020-05-07 16:03:00 +08:00
arr.length === 0

直观、无歧义
marcong95
2020-05-07 16:10:22 +08:00
import isNonEmptyArray from 'is-non-empty-array'

!isNonEmptyArray(arr) //
raincode
2020-05-07 17:15:42 +08:00
if(!arr.length){}
Mohanson
2020-05-07 17:19:00 +08:00
写一个 isEmpty 包放 npm 上,然后 import 它
ooops
2020-05-07 17:19:50 +08:00
定义个方法比较优雅啊 arr.isEmpty()
wuhaoworld
2020-05-07 17:29:39 +08:00
@Mohanson 这个比较讽刺
myd
2020-05-07 17:31:52 +08:00
arr.length === 0

这样写比较好理解,另外,性能瓶颈也不会在这个地方
guiling
2020-05-07 18:48:16 +08:00
来个骚操作,忽略特殊情况
if(arr[0]){}
anjianshi
2020-05-07 19:05:42 +08:00
@guiling 这个问题很大。数组内容是 [false], [0], [''] 咋办
liuzhiyong
2020-05-07 19:12:53 +08:00
第一个,直接判断是否为零。话说这东西优先考虑语义清晰。
Ncanback
2020-05-07 19:56:47 +08:00
你这个说的....
师爷,你来翻译翻译,什么叫做:判断数组 length 等于 0 ? 什么 tmd 叫做:判断数组 length 等于 0 ?
newmlp
2020-05-07 20:34:42 +08:00
就他妈一个 if 判断,有啥性能优化啊,我艹
weixiangzhe
2020-05-07 20:49:59 +08:00
!arr.length
JerryCha
2020-05-07 20:53:05 +08:00
((arr)=>arr.length===0)(arr)
iamjoyhe
2020-05-07 20:56:40 +08:00
这也能优雅?
zfz001
2020-05-07 21:00:30 +08:00
arr.length === 0

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/669314

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX