js 怎样用dropRight移除数组的后n个元素

直接使用 slice() 最安全。
slice(0, len-n) 就可以了。
len 是数组长度。
例如:[1 ,2 ,3 ,4 ,5 ],n=2 ,新数组=slice(0, 3 )。
原数组不变,返回新数组。
性能相同,但切片语义清晰。
你自己掂量一下吧。

jsarray.slice截取数组的实现方法

需要说明的是,JS中的slice方法是一个数组分区工具,不会损害原始版本。
其实很简单。
它有两个主要用途:要么给出一个起始索引并对其进行处理直到结束,要么设置一个打开然后关闭的范围。
去年我们跑那个项目的时候,有一个场景,需要对用户行为日志进行按天划分。
使用切片直接检索昨天的数据比使用循环好十倍。
播放约3 000张唱片的延迟小于1 毫秒。

我们先来说说最重要的事情。
负指数特别实用。
例如slice(-2 )直接杀掉最后两个元素,不计算总长度。
另外需要注意的是,当参数为负数时,是从后往前计数的。
很多人不重视这一点。
还有另一个关键规范,例如 slice(2 ,4 )。
最后一个索引 4 不包含在结果中。
用行话来说,这称为雪崩效应。
事实上,前部的一点延迟会让整个后部下降。

老实说,这很令人困惑。
我一开始以为切片会修改原来的数组,后来发现这是错误的。
它返回了一个新副本。
等等,还有一件事,在空数组上使用切片会产生什么结果?答案是一个空数组,很多人都没有注意到。
我觉得用slice(-1 )比较合适,处理最后一个元素很方便。

JS中几种常用的截取方法

说实话,JS中截取字符串和数组的方法有很多。
至于弦,主要有三种。

一个是substr,从某个地方开始,截取一段长度。
例如,substr(2 , 3 ) 截取从第二个字符开始的三个字符。
这很容易理解。

还有一个子串,从一个位置剪切到另一个位置。
例如,substring(1 , 4 ) 从第一个字符剪切到第四个字符。
请注意,如果最终位置小于起始位置,则会向后计算。

还有一个charAt,专门设计用于获取字符。
例如,charAt(2 ) 取第三个字符。
虽然主要是单个字符,但也可以认为是截取。

说到数组,主要有两种:切片和拼接。

slice的作用是创建一个新数组,并从头到尾选取原数组的元素。
原表保持不变。
例如,slice(1 , 3 ) 获取第二个到第四个元素并返回一个新数组。
这个方法效果很好。
拼接比较复杂。
它可以删除元素、替换元素以及添加新元素。
它会直接修改原数组并返回删除的元素。
例如,splice(1 , 2 , 'a', 'b') 从第二个元素开始删除两个元素,然后添加“a”和“b”。
这个方法是相当强大的。

当你实际使用JS处理字符串和数组时,这些方法确实非常好用。
可以解决很多问题。