JS陣列方法slice()用法例項分析
阿新 • • 發佈:2020-01-20
本文例項講述了JS陣列方法slice()用法。分享給大家供大家參考,具體如下:
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","c"] console.log(arr); //[1,"d"] // 接收負數 console.log(arr.copySlice(-2)); // ["c","d"] console.log(arr.copySlice(-5,6)); //[3,"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程式設計有所幫助。