CodeGym /Java Adesua /Frontend SELF TW /陣列的主要方法

陣列的主要方法

Frontend SELF TW
等級 38 , 課堂 0
開放

7.1 splice() 方法

在 JavaScript 中,陣列提供了內建的方法來操作資料。在這堂課中,我們將探討四個主要的陣列方法: splice(), slice(), concat()indexOf()。 這些方法各自在陣列上執行特定的操作,並能大大簡化資料的處理。

splice() 方法 會改變陣列的內容,刪除現有元素和/或在其位置加入新元素。

語法:

    
      splice(start, deleteCount, item1, item2, ...);
    
  

其中:

  • start: 開始更改的索引
  • deleteCount: 刪除的元素數量。如果未指定,則從 start 開始刪除所有元素
  • item1, item2, ...: 要加入陣列的元素。如果未指定,則不加入任何元素

範例 1: 刪除元素

在這個範例中,從陣列 fruits 中刪除從索引 2 開始的兩個元素。返回值是被刪除的元素組成的陣列。

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry', 'date', 'fig'];
      let removed = fruits.splice(2, 2);

      console.log(fruits);   // 輸出: ['apple', 'banana', 'fig']
      console.log(removed);  // 輸出: ['cherry', 'date']
    
  

範例 2: 增加元素

在這個範例中,陣列 fruits 中從索引 2 開始加入了兩個新元素(datefig)。不刪除任何元素。

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry'];
      fruits.splice(2, 0, 'date', 'fig');

      console.log(fruits);   // 輸出: ['apple', 'banana', 'date', 'fig', 'cherry']
    
  

範例 3: 替換元素

在這個範例中,索引為 1 的元素(banana)被替換成兩個新元素(datefig)。

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry'];
      fruits.splice(1, 1, 'date', 'fig');

      console.log(fruits);   // 輸出: ['apple', 'date', 'fig', 'cherry']
    
  

7.2 slice() 方法

方法 slice() 會返回一個新的陣列,該陣列包含原始陣列的一部分的複製。原始陣列不會被更改。

語法:

    
      array.slice(begin, end);
    
  

其中:

  • begin: 開始複製的索引
  • end: 複製到的索引(不包括此索引的元素)。如果未指定,則複製到陣列的末尾

範例 1: 複製一部分陣列

在這個範例中,創建了一個新陣列,該陣列包含來自陣列 fruits 中索引從 12 的元素。

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry', 'date', 'fig'];
      let sliced = fruits.slice(1, 3);

      console.log(sliced);   // 輸出: ['banana', 'cherry']
    
  

範例 2: 從陣列開始複製

在這個範例中,創建了一個新的陣列,該陣列包含來自陣列 fruits 中索引 01 的元素。

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry'];
      let sliced = fruits.slice(0, 2);

      console.log(sliced);   // 輸出: ['apple', 'banana']
    
  

範例 3: 複製到陣列末尾

在這個範例中,創建了一個新陣列,該陣列包含來自陣列 fruits 中從索引 1 到末尾的元素。

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry'];
      let sliced = fruits.slice(1);

      console.log(sliced);   // 輸出: ['banana', 'cherry']
    
  

7.3 concat() 方法

concat() 方法用於合併兩個或多個陣列。它會返回一個新陣列,其中包含所有合併陣列的元素。

語法:

    
      array1.concat(array2, array3, ...);
    
  

其中:

  • array1, array2, array3, ...: 需要合併的陣列

範例 1: 合併兩個陣列

在這個範例中,陣列 fruits1fruits2 合併成一個新陣列 combined

JavaScript
    
      let fruits1 = ['apple', 'banana'];
      let fruits2 = ['cherry', 'date'];
      let combined = fruits1.concat(fruits2);

      console.log(combined); // 輸出: ['apple', 'banana', 'cherry', 'date']
    
  

範例 2: 合併多個陣列

在這個範例中,三個陣列被合併成一個新的陣列 combined

JavaScript
    
      let fruits1 = ['apple', 'banana'];
      let fruits2 = ['cherry', 'date'];
      let fruits3 = ['fig', 'grape'];
      let combined = fruits1.concat(fruits2, fruits3);

      console.log(combined); // 輸出: ['apple', 'banana', 'cherry', 'date', 'fig', 'grape']
    
  

範例 3: 合併陣列和元素

在這個範例中,加入元素 cherrydate 到陣列 fruits,創建一個新的陣列 moreFruits

JavaScript
    
      let fruits = ['apple', 'banana'];
      let moreFruits = fruits.concat('cherry', 'date');

      console.log(moreFruits); // 輸出: ['apple', 'banana', 'cherry', 'date']
    
  

7.4 indexOf() 方法

方法 indexOf() 返回元素在陣列中第一次出現的索引,如果沒有找到則返回 -1

語法:

    
      array.indexOf(searchElement, fromIndex);
    
  

其中:

  • searchElement: 要尋找的元素
  • fromIndex: 開始搜尋的索引。如果未指定,則從陣列的開頭開始搜尋

範例 1: 在陣列中尋找元素

在這個範例中,indexOf() 方法返回元素 banana 在陣列 fruits 中的索引。

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry'];
      let index = fruits.indexOf('banana');

      console.log(index); // 輸出: 1
    
  

範例 2: 元素未找到

在這個範例中,indexOf() 方法返回 -1,因為元素 date 在陣列 fruits 中未找到。

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry'];
      let index = fruits.indexOf('date');

      console.log(index); // 輸出: -1
    
  

範例 3: 從特定索引開始尋找元素

在這個範例中,indexOf() 方法從索引 2 開始找尋元素 banana,並在索引 3 找到它。

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry', 'banana'];
      let index = fruits.indexOf('banana', 2);

      console.log(index); // 輸出: 3
    
  
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION