簡體   English   中英

帶有負數的 Array.slice 安全嗎?

[英]Is Array.slice with negative numbers safe?

我記得幾年前讀過,僅在某些瀏覽器中支持將負數作為第二個參數傳遞給某些具有此語法的函數( slicesubstr等),但我找不到參考。

只是想知道是否有人知道ary.slice(0, -1)在所有瀏覽器中是否特別安全。

對起始值或結束值(或兩者)使用負數是安全的,並且將從數組的末尾進行選擇。 它支持 IE、FF、Chrome、Safari 和 Opera。

是的,它對瀏覽器來說是安全的,但 Internet Explorer 4 中的 bug 會在以后的 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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM