猿问

javascript splice负数与变数

上代碼

功能大约是监听keyup的动作, 按了什么键就补进array那个键, 直到array的长度到达code的长度,

例如:

['a']   //按a

['a','b'] //按b

['a','b','c'] //按c

['a','b','c','d'] //按d

['a','b','c','d','e'] //按e

['a','b','c','d','h'] //按h

['a','b','c','h','e'] //按e

['a','b','h','e','l'] //按l

['a','h','e','l','l'] //按l

['h','e','l','l','o'] //按o

//这时候触动cornify特效

也可以看線上演示codepen

其中splice的部分一直都搞不懂,
array的splice()方法是这样的

arr.splice(index, how-many, what)

但在上例, 我现在直接在console上调适

-code.length-1 是 -6

pressed.length-code.length則是從-4 開始到 0

那么我直接 var arr = ['s','t','r','i','n','g']

arr.splice(-6,-1) 却返回空数组

但查看一下arr还是 ['s','t','r','i','n','g']

照理来说splice应该会改变原阵列? 直接变成返回的阵列?

还是我有哪边理解错误的地方

有大神可以解惑吗?


温温酱
浏览 927回答 1
1回答

12345678_0001

第二个参数是删除多少个, 0和负数表示不删除pressed.splice(-code.length-1, pressed.length-code.length)这行代码 只在 pressed 的长度大于 code的长度时起作用 , 效果就是保证pressed的长度不大于code
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答