我记得几年前读过这个语法(slice
,substr
等)将负数作为某些函数的第二个参数传递一些浏览器,但我无法找到参考。
只是想知道是否有人知道ary.slice(0, -1)
在所有浏览器中是否特别安全。
答案 0 :(得分:3)
对起始值或结束值(或两者)使用负数是安全的,并将从数组的末尾进行选择。它支持IE,FF,Chrome,Safari和Opera。
答案 1 :(得分:0)
是的,它对于浏览器是安全的,但是Internet Explorer 4中的错误已在更高版本的IE中修复。另外,请注意索引的进行方式,从0到长度(从开始到结束)的正值索引,但使用负值,显然从后面或.length开始,但从-1开始而不是-0索引。对于结束参数,索引也以相同的方式进行,但不是不返回结束值并替换为下一个值,而是将其结束值替换为前一个值。只是一点笔记。
let a = [1,2,3,4,5];
a.slice(0,3); // Returns [1,2,3]
a.slice(3); // Returns [4,5]
a.slice(1,-1); // Returns [2,3,4]
a.slice(-3,-2); // Returns [3]; buggy in IE 4: returns [1,2,3]