Javascript 陣列操作(一)增刪元素

更新 發佈閱讀 7 分鐘

陣列基本的增刪元素方法。


  1. 新增1-從陣列前面新增元素:unshift()
  2. 新增2-從陣列尾端新增元素:push()
  3. 刪除1-從陣列前面刪除元素:shift()
  4. 刪除2-從陣列尾端刪除元素:pop()

這4個增刪元素的方法,都會直接改變原始陣列。

let arr = ['a', 'b', 'c', 'd', 'e'];
arr.unshift('x');
console.log(arr); // ['x', 'a', 'b', 'c', 'd', 'e']

arr.pop();
console.log(arr); // ['x', 'a', 'b', 'c', 'd']

刪除元素的方法,也可以返回被刪除的元素

let arr = ['a', 'b', 'c', 'd', 'e'];
const element = arr.shift();
console.log(element); // a
console.log(arr); // ['b', 'c', 'd', 'e']


在指定位置新增、移除或替換元素: splice()


基本語法​
array.splice(start, deleteCount, item1, item2, ...);

參數說明

  1. start(必需)
    指定從哪個索引開始操作:
    • 正數:從索引位置 start 開始。
    • 負數:從陣列末尾倒數第 start 個位置開始。
  2. deleteCount(可選)
    指定要從陣列中移除的元素數量:
    • 如果為 0,不會移除任何元素。
    • 如果省略該參數,將從 start 一直刪除到陣列末尾。
  3. item1, item2, ...(可選)
    新增到陣列中的元素(從 start 的位置插入)。

返回值

splice() 會返回一個包含被刪除元素的新陣列。
如果沒有刪除任何元素,則返回空陣列。

1. 移除元素

const arr = [1, 2, 3, 4, 5];
const removed = arr.splice(2, 2); // 從索引 2 開始,刪除 2 個元素
console.log(arr); // [1, 2, 5]
console.log(removed); // [3, 4]

2. 新增元素

const arr = [1, 2, 5];
arr.splice(2, 0, 3, 4); // 在索引 2 處插入 3 和 4,不刪除任何元素
console.log(arr); // [1, 2, 3, 4, 5]

3. 替換元素

const arr = [1, 2, 3, 4, 5];
arr.splice(1, 2, 99, 100); // 從索引 1 開始,刪除 2 個元素,並插入 99 和 100
console.log(arr); // [1, 99, 100, 4, 5]

4. 刪除直到結尾

const arr = [1, 2, 3, 4, 5];
arr.splice(2); // 從索引 2 開始,刪除到陣列末尾
console.log(arr); // [1, 2]

5. 使用負數索引

const arr = [1, 2, 3, 4, 5];
arr.splice(-2, 1); // 從倒數第二個位置開始,刪除 1 個元素
console.log(arr); // [1, 2, 3, 5]

6. 同時新增與刪除

const arr = [1, 2, 3, 5];
arr.splice(3, 0, 4); // 在索引 3 插入 4
arr.splice(1, 2, 99, 100); // 刪除兩個元素,插入 99 和 100
console.log(arr); // [1, 99, 100, 4, 5]
const arr = [1, 2, 3, 4];
arr.splice(1, 2, 9, 10); // [1, 9, 10, 4]


取得陣列中指定位置的元素: slice()

雖然與增刪元素無關,但為了對比splice,在此列出slice方法。

基本語法​
slice(start, end)

start(可選):開始提取的索引(包含),若為負數,則從陣列末尾開始計算。默認為 0。

end(可選):結束提取的索引(不包含),若為負數,則從陣列末尾開始計算。默認為陣列的長度。


返回值:返回一個新陣列,包含從 start 到 end(不包括 end)之間的元素。

範例

1:提取部分元素

let array = [10, 20, 30, 40, 50];
let slicedArray = array.slice(1, 3);

console.log(slicedArray); // [20, 30]


2:不提供 end 參數

若只提供 start 參數,slice() 會提取從 start 開始到陣列末尾的所有元素

let array = [10, 20, 30, 40, 50];
let slicedArray = array.slice(2);

console.log(slicedArray); // [30, 40, 50]


3:使用負數索引

slice() 方法的 start 和 end 可以是負數,表示從陣列末尾開始計算。

let array = [10, 20, 30, 40, 50];
let slicedArray = array.slice(-3, -1);

console.log(slicedArray); // [30, 40]
//slice(-3, -1):從倒數第 3 個元素開始提取,直到倒數第 1 個元素前結束。


4:不提供參數

如果不提供任何參數,slice() 會返回整個陣列的淺拷貝。

let array = [10, 20, 30, 40, 50];
let copiedArray = array.slice();

console.log(copiedArray); // [10, 20, 30, 40, 50]


與 splice() 的區別:

slice() 不改變原始陣列,返回提取的部分。

splice() 改變原陣列,刪除或添加元素,並返回被刪除的元素。



留言
avatar-img
留言分享你的想法!
avatar-img
Ni 1968的沙龍
2會員
12內容數
愛看金庸的阿傑,想來分享一下我看金庸的點點滴滴。 講談金庸小說,免不了要爆一堆雷,所以請尚未看過金庸小說的朋友,跳過這裡,先去看金庸原著,享受金庸的武俠世界,別被爆雷破壞了第一次閱讀金庸小說的樂趣。 至於已看過金庸原著的朋友,歡迎一起分享你的觀點,小說劇情本就會各有解讀,各有領會,這才是現代文學的魅力!
Ni 1968的沙龍的其他內容
2024/11/02
在 Vue 應用中直接使用 .reverse() 來修改陣列可能在開發環境中未出現問題,但在生產環境中卻可能導致重新渲染錯誤及資料順序不一致的問題。建議使用 .slice() 創建淺拷貝的解決方案,以確保 Vue 的反應性系統能正常運作並避免應用當機。
Thumbnail
2024/11/02
在 Vue 應用中直接使用 .reverse() 來修改陣列可能在開發環境中未出現問題,但在生產環境中卻可能導致重新渲染錯誤及資料順序不一致的問題。建議使用 .slice() 創建淺拷貝的解決方案,以確保 Vue 的反應性系統能正常運作並避免應用當機。
Thumbnail
2024/09/16
howler.js是一個強大的 JavaScript 音效庫,可以方便地在網頁上播放音效。 在 Vue.js 中使用 Howler.js 可以輕鬆地管理和播放音效。
Thumbnail
2024/09/16
howler.js是一個強大的 JavaScript 音效庫,可以方便地在網頁上播放音效。 在 Vue.js 中使用 Howler.js 可以輕鬆地管理和播放音效。
Thumbnail
2024/08/08
如何在 Vite 專案中安裝和設置 TypeScript 及路徑別名的步驟,包括安裝必要的依賴、配置 vite.config.js、tsconfig.json 的設置,及如何創建類型聲明文件來正確識別 .vue 文件。
Thumbnail
2024/08/08
如何在 Vite 專案中安裝和設置 TypeScript 及路徑別名的步驟,包括安裝必要的依賴、配置 vite.config.js、tsconfig.json 的設置,及如何創建類型聲明文件來正確識別 .vue 文件。
Thumbnail
看更多
你可能也想看
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
陣列(Array)是 JavaScript 中用來儲存一組有序資料的集合。 陣列可以包含各種資料型別的值,例如數字、字串、布林值,甚至其他陣列或物件。了解陣列的基本操作是編寫高效 JavaScript 程式碼的重要基礎。
Thumbnail
陣列(Array)是 JavaScript 中用來儲存一組有序資料的集合。 陣列可以包含各種資料型別的值,例如數字、字串、布林值,甚至其他陣列或物件。了解陣列的基本操作是編寫高效 JavaScript 程式碼的重要基礎。
Thumbnail
陣列可以說是最常見的資料結構,LeetCode 裡的題目有過半都和 Array 有關,因此也通常是解題新手的第一站。在第一篇專文,我們就從它的操作方法講起。
Thumbnail
陣列可以說是最常見的資料結構,LeetCode 裡的題目有過半都和 Array 有關,因此也通常是解題新手的第一站。在第一篇專文,我們就從它的操作方法講起。
Thumbnail
JavaScript Array 基本操作筆記
Thumbnail
JavaScript Array 基本操作筆記
Thumbnail
在 C# 中,List 是一個常見且實用的集合類型,可以儲存一組元素並進行各種操作。本篇教學將帶你深入了解如何操作 List 以及進行降冪排序。我們將使用一系列範例程式碼來說明這些概念。
Thumbnail
在 C# 中,List 是一個常見且實用的集合類型,可以儲存一組元素並進行各種操作。本篇教學將帶你深入了解如何操作 List 以及進行降冪排序。我們將使用一系列範例程式碼來說明這些概念。
Thumbnail
資料集中除了陣列這個外,還有另一個好幫手就是List,它跟陣列很像,我們直接來看一下怎麼用: 它的語法: 1.給予值 (1)單一新增: (2)陣列式新增: 例子: 2.取值 (1)foreach迴圈方式 (2)單一取值 3.取得List有多少個內容值 4.排序 想要反轉就再使用↓ 5.插入 6.複製
Thumbnail
資料集中除了陣列這個外,還有另一個好幫手就是List,它跟陣列很像,我們直接來看一下怎麼用: 它的語法: 1.給予值 (1)單一新增: (2)陣列式新增: 例子: 2.取值 (1)foreach迴圈方式 (2)單一取值 3.取得List有多少個內容值 4.排序 想要反轉就再使用↓ 5.插入 6.複製
Thumbnail
C# 陣列 – (C#教學) – Array為程式設計中最基本元素之一. 陣列就是用一個variable記下多個同類的值(記憶體中的位置), 以供日後所調用. 相關頁面: C# List – 學會List的5種基本應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈
Thumbnail
C# 陣列 – (C#教學) – Array為程式設計中最基本元素之一. 陣列就是用一個variable記下多個同類的值(記憶體中的位置), 以供日後所調用. 相關頁面: C# List – 學會List的5種基本應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈
Thumbnail
本篇文章將會介紹陣列的排列、反轉、清除、擴增等方法,能協助程式員在撰寫程式時的操作,並會介紹字元相關的方法。
Thumbnail
本篇文章將會介紹陣列的排列、反轉、清除、擴增等方法,能協助程式員在撰寫程式時的操作,並會介紹字元相關的方法。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News