千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 詳解js數(shù)組slice函數(shù)

詳解js數(shù)組slice函數(shù)

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-22 20:59:35 1700657975

一、js數(shù)組slice函數(shù)

js數(shù)組slice函數(shù)被用于從一個(gè)數(shù)組中返回一個(gè)選定的元素序列,生成一個(gè)新的數(shù)組對(duì)象。

語(yǔ)法如下:


array.slice(start, end)

其中,參數(shù)start是必須的,end是可選的。start指定從何處開(kāi)始選?。ò瑂tart所在元素),end(可選)為截止處(不包含)。

示例代碼:


var fruits = ['apple', 'banana', 'mango', 'orange', 'pineapple'];
var citrus = fruits.slice(1,3); //截取數(shù)組從索引1開(kāi)始到索引3的元素,不包括索引3的元素
console.log(citrus); //輸出:["banana", "mango"]

二、Js數(shù)組排序

在使用slice之前,可以對(duì)數(shù)組進(jìn)行排序以提高效率。js提供了sort()函數(shù)進(jìn)行排序操作。sort()函數(shù)默認(rèn)將元素轉(zhuǎn)換為字符串,并在Unicode位點(diǎn)順序下進(jìn)行排序??梢跃帉?xiě)自定義函數(shù)用作sort()的參數(shù)來(lái)控制排序表現(xiàn)。排序完成后使用slice()來(lái)提取想要的元素。

示例代碼:


var point = [40, 100, 1, 5, 25, 10];
point.sort(function(a, b){return a-b}); //數(shù)字排序后生成一個(gè)新數(shù)組
var newpoint = point.slice(1,3); //提取排序后的第2、3兩個(gè)元素
console.log(newpoint); //輸出:[5, 10]

三、js數(shù)組slice原理

js數(shù)組slice()的原理是從原先的數(shù)組中提取出需要的部分,生成一個(gè)新的數(shù)組,原數(shù)組并不會(huì)發(fā)生任何改變。slice方法返回的新數(shù)組可以存儲(chǔ)在一個(gè)變量中并作為一個(gè)數(shù)組使用,這有時(shí)可以使代碼更整潔易讀。

示例代碼:


var nums = [1,2,3,4,5];
var newNums = nums.slice(2,4);
console.log(newNums); //輸出:[3, 4]
console.log(nums); //輸出:[1, 2, 3, 4, 5]

四、js數(shù)組

在JavaScript中,數(shù)組是一種特殊的對(duì)象,用于存儲(chǔ)多個(gè)元素。js數(shù)組中的每個(gè)元素可以是任何類(lèi)型的數(shù)據(jù)(數(shù)字,字符串甚至是另一個(gè)數(shù)組)。

示例代碼:


var myArray = ['蘋(píng)果', '香蕉', '橙子', 1, 2, 3];
console.log(myArray); //輸出:["蘋(píng)果", "香蕉", "橙子", 1, 2, 3]

五、js數(shù)組slice方法

js數(shù)組slice()方法用于從已有的數(shù)組中返回選定的元素。如果沒(méi)有指定第二個(gè)參數(shù),則選取從起始索引到數(shù)組結(jié)尾的所有元素。

示例代碼:


var fruits = ['蘋(píng)果', '香蕉', '橙子', '芒果', '梨子'];
var citrus = fruits.slice(1);
console.log(citrus); //輸出:["香蕉", "橙子", "芒果", "梨子"]

六、js數(shù)組slice和splice

js數(shù)組slice()和splice()是Array.prototype上的兩個(gè)方法。它們都可以從數(shù)組中提取元素,但有所不同。slice()返回一個(gè)新數(shù)組,而splice()刪除、替換或插入一個(gè)或多個(gè)元素,并返回原數(shù)組。

示例代碼:


var myArray = ['早餐', '午餐', '晚餐', '夜宵'];
var slicedArray = myArray.slice(1,3); //slice()方法從索引1到2返回引用
console.log(myArray); //輸出:["早餐", "午餐", "晚餐", "夜宵"]
console.log(slicedArray); //輸出:["午餐", "晚餐"]

var splicedArray = myArray.splice(1, 2); //刪除從索引1開(kāi)始的2個(gè)元素,并返回被刪除元素的數(shù)組
console.log(myArray); //輸出:["早餐", "夜宵"]
console.log(splicedArray); //輸出:["午餐", "晚餐"]

七、js數(shù)組slice方法時(shí)間復(fù)雜度

時(shí)間復(fù)雜度是算法的一個(gè)性質(zhì),衡量的是執(zhí)行程序所需的計(jì)算工作量。對(duì)于js數(shù)組的slice()方法,時(shí)間復(fù)雜度為O(n),其中n是需要返回的元素個(gè)數(shù)。

八、js數(shù)組排序

在JavaScript中,可以使用sort()方法對(duì)數(shù)組進(jìn)行排序。排序操作可以用來(lái)提高對(duì)數(shù)組的遍歷或查找操作的效率。

九、js數(shù)組方法

在JavaScript中,還有其他許多有用的數(shù)組方法,例如push()、pop()、shift()、unshift()、indexOf()和lastIndexOf()。

push()向數(shù)組末尾添加一個(gè)或多個(gè)元素。

pop()從數(shù)組末尾刪除一個(gè)元素。

shift()從數(shù)組頭部刪除一個(gè)元素。

unshift()向數(shù)組頭部添加一個(gè)或多個(gè)元素。

indexOf()查找一個(gè)指定元素在數(shù)組中第一次出現(xiàn)的位置。

lastIndexOf()查找一個(gè)指定元素在數(shù)組中最后一次出現(xiàn)的位置。

示例代碼:


var myArray = ['蘋(píng)果', '香蕉', '橙子'];
myArray.push('梨子');
console.log(myArray); //輸出:["蘋(píng)果", "香蕉", "橙子", "梨子"]

myArray.pop();
console.log(myArray); //輸出:["蘋(píng)果", "香蕉", "橙子"]

myArray.shift();
console.log(myArray); // 輸出:["香蕉", "橙子"]

myArray.unshift('西瓜');
console.log(myArray); //輸出:["西瓜", "香蕉", "橙子"]

console.log(myArray.indexOf('香蕉')); //輸出:1

console.log(myArray.lastIndexOf('橙子')); //輸出:2

tags: jsslice
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Uniapp點(diǎn)擊事件全解析

Uniapp是一個(gè)跨平臺(tái)的框架,開(kāi)發(fā)者可以通過(guò)一份代碼適配多個(gè)移動(dòng)平臺(tái),包括iOS、Android、H5、小程序等。其中,點(diǎn)擊事件作為移動(dòng)應(yīng)用中常見(jiàn)的交...詳情>>

2023-11-22 23:23:36
byte轉(zhuǎn)string詳解

byte轉(zhuǎn)string是編程中經(jīng)常遇到的一個(gè)操作。無(wú)論是在文件處理、網(wǎng)絡(luò)傳輸還是數(shù)據(jù)存儲(chǔ)上,都需要將byte轉(zhuǎn)為string進(jìn)行處理。本文將從多個(gè)方面詳解...詳情>>

2023-11-22 23:16:23
C++ sort頭文件詳解

一、sort頭文件介紹C++ sort頭文件是C++標(biāo)準(zhǔn)庫(kù)中的一個(gè)重要頭文件,用來(lái)排序(主要是升序)數(shù)組或序列。通過(guò)對(duì)sort函數(shù)的調(diào)用,C++ sort頭文件...詳情>>

2023-11-22 22:15:11
如何清除svchost病毒

一、了解svchost病毒svchost病毒是一種比較常見(jiàn)的惡意軟件,它通過(guò)偽裝成系統(tǒng)進(jìn)程的方式進(jìn)行隱藏,進(jìn)而竊取用戶(hù)的個(gè)人信息和系統(tǒng)信息。而且svch...詳情>>

2023-11-22 22:04:23
Photoscan建模教程

一、環(huán)境搭建在使用Photoscan進(jìn)行建模前,需要先安裝好相關(guān)軟件并進(jìn)行配置。首先,需要安裝好Photoscan軟件,可以從官網(wǎng)下載。安裝完成后,需要...詳情>>

2023-11-22 22:00:47