JS Array.slice 截取數(shù)組的實(shí)現(xiàn)方法
slice定義和用法
slice() 方法可從已有的數(shù)組中返回選定的元素。
語法
arrayObject.slice(start,end)
參數(shù) | 描述 |
---|---|
start | 必需。規(guī)定從何處開始選取。如果是負(fù)數(shù),那么它規(guī)定從數(shù)組尾部開始算起的位置。也就是說,-1 指最后一個(gè)元素,-2 指倒數(shù)第二個(gè)元素,以此類推。 |
end | 可選。規(guī)定從何處結(jié)束選取。該參數(shù)是數(shù)組片斷結(jié)束處的數(shù)組下標(biāo)。如果沒有指定該參數(shù),那么切分的數(shù)組包含從 start 到數(shù)組結(jié)束的所有元素。如果這個(gè)參數(shù)是負(fù)數(shù),那么它規(guī)定的是從數(shù)組尾部開始算起的元素。 |
返回值
返回一個(gè)新的數(shù)組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
說明
請(qǐng)注意,該方法并不會(huì)修改數(shù)組,而是返回一個(gè)子數(shù)組。如果想刪除數(shù)組中的一段元素,應(yīng)該使用方法 Array.splice()。
提示和注釋
注釋:您可使用負(fù)值從數(shù)組的尾部選取元素。
注釋:如果 end 未被規(guī)定,那么 slice() 方法會(huì)選取從 start 到數(shù)組結(jié)尾的所有元素。
實(shí)例
例子 1
在本例中,我們將創(chuàng)建一個(gè)新數(shù)組,然后顯示從其中選取的元素:
<script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr + "<br />") document.write(arr.slice(1) + "<br />") document.write(arr) </script>
輸出:
George,John,Thomas
John,Thomas
George,John,Thomas
例子 2
在本例中,我們將創(chuàng)建一個(gè)新數(shù)組,然后顯示從其中選取的元素:
<script type="text/javascript"> var arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" arr[3] = "James" arr[4] = "Adrew" arr[5] = "Martin" document.write(arr + "<br />") document.write(arr.slice(2,4) + "<br />") document.write(arr) </script>
輸出:
George,John,Thomas,James,Adrew,Martin
Thomas,James
George,John,Thomas,James,Adrew,Martin
核心代碼:
<script type="text/javascript"> //JS Array.slice 截取數(shù)組 //在JavaScript中,Array對(duì)象的slice(start[,end])方法返回?cái)?shù)組從下標(biāo)[start,end)的部分(不包含下標(biāo)為end的元素)如果沒有指定end參數(shù),則從start開始到數(shù)組結(jié)尾的部分,slice()方法不改變?cè)瓟?shù)組,如果要?jiǎng)h除數(shù)組的一部分,可以使用splice()方法。 //參數(shù): //(1)start:開始截取的數(shù)組下標(biāo),如果start是負(fù)數(shù),表明從數(shù)組尾部開始計(jì)算。 //(2)end:結(jié)束截取的數(shù)組下標(biāo),如果end是負(fù)數(shù),表明從數(shù)組尾部開始計(jì)算。 //例1: var arr = [1,2,3,4,5,6,7,8,9]; // [0,1,2,3,4,5,6,7,8] // [-10,-9,-8,-7,-6,-5,-4,-3,-2,-1] document.writeln(arr.slice(5)); // 輸出:6,7,8,9 document.writeln(arr.slice(-5)); // 輸出:5,6,7,8,9 document.writeln(arr.slice(0,3)); // 輸出:1,2,3 document.writeln(arr.slice(1,2)); // 輸出:2 document.writeln(arr.slice(3,-2)); // 輸出:4,5,6,7 document.writeln(arr.slice(1,9999)); // 輸出:2,3,4,5,6,7,8,9 //================================================================================================== //JS Array.splice(start,delete_count,value,...) 插入、刪除、替換數(shù)組 //參數(shù): //(1)start:開始插入和(或)刪除的數(shù)組元素的下標(biāo)。 //(2)delete_count:結(jié)束截取的數(shù)組下標(biāo),如果end是負(fù)數(shù),表明從數(shù)組尾部開始計(jì)算。 //(3)value,...:要插入數(shù)組的元素。 //返回:如果從數(shù)組中刪除了元素,則返回的是被刪除的元素的數(shù)組 // //例1: document.write("<hr>"); // var arr = [1,2,3,4,5,6,7,8,9]; document.writeln("arr=" + arr); // 輸出:arr=1,2,3,4,5,6,7,8,9 document.writeln("arr.splice(5)=" + arr.splice(5)); // 輸出:arr.splice(5)=6,7,8,9 document.writeln("arr=" + arr); // 輸出:arr=1,2,3,4,5 document.write("<br>"); // var arr = [1,2,3,4,5,6,7,8,9]; document.writeln("arr=" + arr); // 輸出:arr=1,2,3,4,5,6,7,8,9 document.writeln("arr.splice(5,1,99,100)=" + arr.splice(5,1,99,100)); // 輸出:arr.splice(5,1,99,100)=6 document.writeln("arr=" + arr); // 輸出:arr=1,2,3,4,5,99,100,7,8,9 document.write("<br>"); </script>
ok了,其實(shí)就是使用array.alice(0,20);截取前20個(gè)。
相關(guān)文章
JavaScript判斷是否為數(shù)字的4種方法及效率比較
這篇文章主要介紹了JavaScript判斷是否為數(shù)字的4種方法及效率比較,本文直接給出判斷方法實(shí)現(xiàn)代碼及運(yùn)行效率效果圖,方便大家選擇使用,需要的朋友可以參考下2015-04-04fastclick插件導(dǎo)致日期(input[type="date"])控件無法被觸發(fā)該如何解決
這篇文章主要介紹了fastclick插件導(dǎo)致日期(input[type="date"])控件無法被觸發(fā)該如何解決,需要的朋友可以參考下2015-11-11- 當(dāng)大家使用window.onload執(zhí)行一個(gè)函數(shù)時(shí),必須要等到頁面上的圖片等信息全部加載完畢之后才執(zhí)行的。但很多時(shí)候圖片的數(shù)量比較多,所以需要很多時(shí)間下載。更令人尷尬的是,當(dāng)網(wǎng)頁文檔(或者說Dom)已經(jīng)加載完畢,而圖片尚未加載完畢,很多用戶已經(jīng)開始瀏覽網(wǎng)頁,但這時(shí)很多由window.onload所觸發(fā)的函數(shù)不能執(zhí)行,這就導(dǎo)致一部分功能不能完美地給用戶使用,更嚴(yán)重的是會(huì)給用戶留下不好的印象!2008-05-05
優(yōu)化 JavaScript 代碼的方法小結(jié)
客戶端腳本能讓你的應(yīng)用更加地動(dòng)態(tài)和活躍, 但是瀏覽器對(duì)代碼的解析可能造成效率問題, 而這種性能差異在客戶端之間也不盡相同。 這里我們討論和給出一些優(yōu)化你的 JavaScript 代碼的提示和最佳實(shí)踐。2009-07-07javascript算法學(xué)習(xí)(直接插入排序)
假設(shè)待排序的記錄存放在數(shù)組R[1..n]中。初始時(shí),R[1]自成1個(gè)有序區(qū),無序區(qū)為R[2..n]。從i=2起直至i=n為止,依次將R[i]插入當(dāng)前的有序區(qū)R[1..i-1]中,生成含n個(gè)記錄的有序區(qū)。2011-04-04PixiJS學(xué)習(xí)之Sprite類的使用詳解
Sprite 直譯為 “精靈”,是游戲開發(fā)中常見的術(shù)語,就是將一個(gè)角色的多個(gè)動(dòng)作放到一個(gè)圖片里,通過裁剪局部區(qū)域得到當(dāng)前的角色狀態(tài)圖。本文主要介紹了PixiJS中Sprite類的使用,需要的可以參考一下2023-02-02js遍歷添加欄目類添加css 再點(diǎn)擊其它刪除css【推薦】
這篇文章主要介紹了js遍歷添加欄目類添加css 再點(diǎn)擊其它刪除css的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒借鑒價(jià)值,需要的朋友可以參考下2018-06-06JS運(yùn)動(dòng)相關(guān)知識(shí)點(diǎn)小結(jié)(附彈性運(yùn)動(dòng)示例)
這篇文章主要介紹了JS運(yùn)動(dòng)相關(guān)知識(shí)點(diǎn),總結(jié)分析了JavaScript運(yùn)動(dòng)所涉及的相關(guān)知識(shí)點(diǎn)與注意事項(xiàng),并附帶了一個(gè)JavaScript彈性運(yùn)動(dòng)的實(shí)例供大家參考,需要的朋友可以參考下2016-01-01