您好,登錄后才能下訂單哦!
本文實例講述了JS數組方法slice()用法。分享給大家供大家參考,具體如下:
slice(),它能基于當前數組中的一個或多個創建一個新數組。可以接受一或兩個參數,即要返回的起始和結束位置。
一個參數:slice()方法返回從該參數指定位置開始到當前數組末尾的所有項。
兩個參數:該方法返回起始和結束位置之間的項(但不包括結束位置的項)。
slice不會影響原始數組。
結束位置小于起始位置,返回空數組。
可以接受負數,用數組長度加上該負數來確定相應位置。
var arr = [1, 2, 3, 'a', 'b', 'c', 'd']; Array.prototype.copySlice =function() { var newArr = []; var len = this.length; var argLen = arguments.length; if(arguments.length == 1) {//一個參數 var startNum = arguments[0] > 0 ? arguments[0] : (len + arguments[0]); for(var i = startNum; i < len; i++) { newArr.push(arr[i]); } } else if(arguments.length == 2) {//兩個參數 var startNum = arguments[0] > 0 ? arguments[0] : (len + arguments[0]); var endNum = arguments[1] > 0 ? arguments[1] : (len + arguments[1]); if(startNum >= endNum) {//起始索引大于終止索引,返回[] return newArr; } else { for(var i = startNum; i < endNum; i++) { newArr.push(arr[i]); } } } return newArr; }; console.log(arr.length); // 7 // 一個參數 console.log(arr.copySlice(2)); // [3, "a", "b", "c", "d"] // 兩個參數 console.log(arr.copySlice(3, 6)); //["a", "b", "c"] console.log(arr); //[1, 2, 3, "a", "b", "c", "d"] // 接收負數 console.log(arr.copySlice(-2)); // ["c", "d"] console.log(arr.copySlice(-5, 6)); //[3, "a", "b", "c"] //結束位置小于起始位置,返回空數組。 console.log(arr.copySlice(-5, -6)); //[] console.log(arr.copySlice(5, 5)); //[] console.log(arr.copySlice(5, )); // ["c", "d"]
運行結果:
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數組操作技巧總結》、《JavaScript遍歷算法與技巧總結》、《javascript面向對象入門教程》、《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。