」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 每個開發人員都應該掌握的 avaScript 陣列方法(第 2 部分)

每個開發人員都應該掌握的 avaScript 陣列方法(第 2 部分)

發佈於2024-11-03
瀏覽:136

avaScript Array Methods Every Developer Should Master (Part 2)

JavaScript 提供了一組強大的內建陣列方法,讓資料處理變得更加容易。

在這篇文章中,我們將探討四種常用的陣列方法:concat()、reverse()、fill() 和 join()。

這些方法都是以不同方式操作陣列的寶貴工具。讓我們開始吧!

如果您還沒有閱讀我們之前的文章,請務必查看第 1 部分以了解更多有用的陣列技術!這將為您提供更強大的數組方法的完整概述。

1. 連接()

concat() 方法可讓您將多個陣列或值合併到一個新陣列中。它不會修改原始數組,而是傳回一個包含組合內容的新數組。

句法:

arr.concat(value1, value2, ...);
  • value1, value2, ... – 可以是要合併的陣列或值。

如果參數是數組,則複製該數組中的所有元素;否則,參數本身將被複製。

例子:

const arr = [1, 2];

// Merging arr with another array [3, 4]
const arr1 = arr.concat([3, 4]);
console.log(arr1);  // Output: [1, 2, 3, 4]

// Merging arr with two arrays [3, 4] and [5, 6]
const arr2 = arr.concat([3, 4], [5, 6]);
console.log(arr2);  // Output: [1, 2, 3, 4, 5, 6]

// Merging arr with two arrays and additional values 5 and 6
const arr3 = arr.concat([3, 4], 5, 6);
console.log(arr3);  // Output: [1, 2, 3, 4, 5, 6]

2. 反向()

reverse() 方法反轉原始陣列中元素的順序。與其他陣列方法不同,reverse() 就地修改原始陣列並傳回它。

句法:

arr.reverse();

例子:

const arr = [1, 2, 3, 4, 5];

// Reverses the array in place and returns the reversed array
const reversedArr = arr.reverse();
console.log(reversedArr);  // Output: [5, 4, 3, 2, 1]

// Original array is also reversed
console.log(arr);  // Output: [5, 4, 3, 2, 1]

3. 填充()

fill() 方法以指定值填入陣列中的所有元素。它是一個 mutator 方法,意味著它修改原始陣列並傳回更新後的版本。

句法:

arr.fill(value, start, end)
  • value – 用來填入陣列的值。
  • start(可選)– 起始索引(預設為 0)。
  • end(可選)– 結束索引(預設為 arr.length)。

重要:不包括結束索引-它充當排他邊界。這意味著填充將在末尾索引處的元素之前停止。

例子:

const nums1 = [15, 27, 19, 2, 1];
const nums2 = [25, 28, 34, 49];
const nums3 = [8, 9, 3, 7];

// Fill all elements with 5
const newNums1 = nums1.fill(5);
console.log(nums1);  // Output: [5, 5, 5, 5, 5]
console.log(newNums1);  // Output: [5, 5, 5, 5, 5]

// Fill elements from index 1 to 3 with 25
nums2.fill(25, 1, 3);
console.log(nums2);  // Output: [25, 25, 25, 49]

// Fill elements from index -2 to end with 15 (negative index counts from the end)
nums3.fill(15, -2);
console.log(nums3);  // Output: [8, 9, 15, 15]

4. 加入()

join() 方法將陣列的所有元素連接成單一字串。預設情況下,元素以逗號分隔,但您可以指定自訂分隔符號。

句法:

arr.join(separator);
  • separator(可選)– 用於分隔陣列元素的字串(預設為 ,)。

例子:

const movies = ["Animal", "Jawan", "Pathaan"];

// Join elements with a custom separator " | "
const moviesStr = movies.join(" | ");
console.log(moviesStr);  // Output: "Animal | Jawan | Pathaan"

// The original array remains unchanged
console.log(movies);  // Output: ["Animal", "Jawan", "Pathaan"]

// Join elements with no separator
const arr = [2, 2, 1, ".", 4, 5];
console.log(arr.join(""));  // Output: "221.45"

// Join elements with a custom separator " and "
const random = [21, "xyz", undefined];
console.log(random.join(" and "));  // Output: "21 and xyz and "

結論

concat()、reverse()、fill() 和 join() 方法是在 JavaScript 中處理陣列的強大工具。

  • concat() 將陣列和值組合成一個新陣列。
  • reverse() 反轉元素的順序。
  • fill() 以指定值取代陣列元素。
  • join() 將陣列元素連接成字串,並使用可自訂的分隔符號。

這些方法對於有效的陣列操作至關重要,可以幫助您使程式碼更乾淨、更有效率。

版本聲明 本文轉載於:https://dev.to/jenil/4-essential-javascript-array-methods-part-2-d12?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 在UTF8 MySQL表中正確將Latin1字符轉換為UTF8的方法
    在UTF8 MySQL表中正確將Latin1字符轉換為UTF8的方法
    在UTF8表中將latin1字符轉換為utf8 ,您遇到了一個問題,其中含義的字符(例如,“jáuòiñe”)在utf8 table tabled tablesset中被extect(例如,“致電。為了解決此問題,您正在嘗試使用“ mb_convert_encoding”和“ iconv”轉換受...
    程式設計 發佈於2025-07-13
  • 如何簡化PHP中的JSON解析以獲取多維陣列?
    如何簡化PHP中的JSON解析以獲取多維陣列?
    php 試圖在PHP中解析JSON數據的JSON可能具有挑戰性,尤其是在處理多維數組時。 To simplify the process, it's recommended to parse the JSON as an array rather than an object.To do...
    程式設計 發佈於2025-07-13
  • 如何使用Depimal.parse()中的指數表示法中的數字?
    如何使用Depimal.parse()中的指數表示法中的數字?
    在嘗試使用Decimal.parse(“ 1.2345e-02”中的指數符號表示法表示的字符串時,您可能會遇到錯誤。這是因為默認解析方法無法識別指數符號。 成功解析這樣的字符串,您需要明確指定它代表浮點數。您可以使用numbersTyles.Float樣式進行此操作,如下所示:[&& && && ...
    程式設計 發佈於2025-07-13
  • 找到最大計數時,如何解決mySQL中的“組函數\”錯誤的“無效使用”?
    找到最大計數時,如何解決mySQL中的“組函數\”錯誤的“無效使用”?
    如何在mySQL中使用mySql 檢索最大計數,您可能會遇到一個問題,您可能會在嘗試使用以下命令:理解錯誤正確找到由名稱列分組的值的最大計數,請使用以下修改後的查詢: 計數(*)為c 來自EMP1 按名稱組 c desc訂購 限制1 查詢說明 select語句提取名稱列和每個名稱...
    程式設計 發佈於2025-07-13
  • Java中如何使用觀察者模式實現自定義事件?
    Java中如何使用觀察者模式實現自定義事件?
    在Java 中創建自定義事件的自定義事件在許多編程場景中都是無關緊要的,使組件能夠基於特定的觸發器相互通信。本文旨在解決以下內容:問題語句我們如何在Java中實現自定義事件以促進基於特定事件的對象之間的交互,定義了管理訂閱者的類界面。 以下代碼片段演示瞭如何使用觀察者模式創建自定義事件: args...
    程式設計 發佈於2025-07-13
  • 反射動態實現Go接口用於RPC方法探索
    反射動態實現Go接口用於RPC方法探索
    在GO 使用反射來實現定義RPC式方法的界面。例如,考慮一個接口,例如:鍵入myService接口{ 登錄(用戶名,密碼字符串)(sessionId int,錯誤錯誤) helloworld(sessionid int)(hi String,錯誤錯誤) } 替代方案而不是依靠反射...
    程式設計 發佈於2025-07-13
  • Python高效去除文本中HTML標籤方法
    Python高效去除文本中HTML標籤方法
    在Python中剝離HTML標籤,以獲取原始的文本表示Achieving Text-Only Extraction with Python's MLStripperTo streamline the stripping process, the Python standard librar...
    程式設計 發佈於2025-07-13
  • 如何同步迭代並從PHP中的兩個等級陣列打印值?
    如何同步迭代並從PHP中的兩個等級陣列打印值?
    同步的迭代和打印值來自相同大小的兩個數組使用兩個數組相等大小的selectbox時,一個包含country代碼的數組,另一個包含鄉村代碼,另一個包含其相應名稱的數組,可能會因不當提供了exply for for for the uncore for the forsion for for ytry...
    程式設計 發佈於2025-07-13
  • 如何使用不同數量列的聯合數據庫表?
    如何使用不同數量列的聯合數據庫表?
    合併列數不同的表 當嘗試合併列數不同的數據庫表時,可能會遇到挑戰。一種直接的方法是在列數較少的表中,為缺失的列追加空值。 例如,考慮兩個表,表 A 和表 B,其中表 A 的列數多於表 B。為了合併這些表,同時處理表 B 中缺失的列,請按照以下步驟操作: 確定表 B 中缺失的列,並將它們添加到表的...
    程式設計 發佈於2025-07-13
  • 如何使用Python理解有效地創建字典?
    如何使用Python理解有效地創建字典?
    在python中,詞典綜合提供了一種生成新詞典的簡潔方法。儘管它們與列表綜合相似,但存在一些顯著差異。 與問題所暗示的不同,您無法為鑰匙創建字典理解。您必須明確指定鍵和值。 For example:d = {n: n**2 for n in range(5)}This creates a dict...
    程式設計 發佈於2025-07-13
  • 將圖片浮動到底部右側並環繞文字的技巧
    將圖片浮動到底部右側並環繞文字的技巧
    在Web設計中圍繞在Web設計中,有時可以將圖像浮動到頁面右下角,從而使文本圍繞它纏繞。這可以在有效地展示圖像的同時創建一個吸引人的視覺效果。 css位置在右下角,使用css float and clear properties: img { 浮點:對; ...
    程式設計 發佈於2025-07-13
  • 如何克服PHP的功能重新定義限制?
    如何克服PHP的功能重新定義限制?
    克服PHP的函數重新定義限制在PHP中,多次定義一個相同名稱的函數是一個no-no。嘗試這樣做,如提供的代碼段所示,將導致可怕的“不能重新列出”錯誤。 但是,PHP工具腰帶中有一個隱藏的寶石:runkit擴展。它使您能夠靈活地重新定義函數。 runkit_function_renction_...
    程式設計 發佈於2025-07-13
  • 如何使用Python有效地以相反順序讀取大型文件?
    如何使用Python有效地以相反順序讀取大型文件?
    在python 反向行讀取器生成器 == ord('\ n'): 緩衝區=緩衝區[:-1] 剩餘_size- = buf_size lines = buffer.split('\ n'....
    程式設計 發佈於2025-07-13
  • 為什麼PYTZ最初顯示出意外的時區偏移?
    為什麼PYTZ最初顯示出意外的時區偏移?
    與pytz 最初從pytz獲得特定的偏移。例如,亞洲/hong_kong最初顯示一個七個小時37分鐘的偏移: 差異源利用本地化將時區分配給日期,使用了適當的時區名稱和偏移量。但是,直接使用DateTime構造器分配時區不允許進行正確的調整。 example pytz.timezone(&#...
    程式設計 發佈於2025-07-13
  • 如何將多種用戶類型(學生,老師和管理員)重定向到Firebase應用中的各自活動?
    如何將多種用戶類型(學生,老師和管理員)重定向到Firebase應用中的各自活動?
    Red: How to Redirect Multiple User Types to Respective ActivitiesUnderstanding the ProblemIn a Firebase-based voting app with three distinct user type...
    程式設計 發佈於2025-07-13

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3