Javascript 使用if-else语句的数组大小片回退

Javascript 使用if-else语句的数组大小片回退,javascript,arrays,ecmascript-6,Javascript,Arrays,Ecmascript 6,说我想限制数组的大小,条件是总是取第一个项,我们可以这样做。slice但是我需要slice方法的if-else语句吗 result=arrays.length>10?数组.切片(0,10):数组 上述声明有效,但是否需要if-else声明?有更好的方法吗?当然 result=arrays.slice(0,10) 如果小于或等于10,则无差异 ……有没有更好的办法 如果速度是一个问题,那么a,而循环要快得多: var i=0,l=arrays.length,result=[]; while(il)

说我想限制数组的大小,条件是总是取第一个项,我们可以这样做。slice但是我需要slice方法的if-else语句吗

result=arrays.length>10?数组.切片(0,10):数组

上述声明有效,但是否需要if-else声明?有更好的方法吗?

当然

result=arrays.slice(0,10)

如果小于或等于10,则无差异

……有没有更好的办法

如果速度是一个问题,那么a
,而
循环要快得多:

var i=0,l=arrays.length,result=[];
while(il){result[i]=数组[i];i++}
已经做了一个jsperf->

在我的Chrome 63/Ubuntu
阵列上,slice(0,10)
while
循环慢62-67%。这似乎是一个迂腐的细节,但如果你切分很多,你可以大大提高性能