首頁 > web前端 > js教程 > JavaScript 陣列方法。

JavaScript 陣列方法。

Mary-Kate Olsen
發布: 2024-12-08 14:26:11
原創
413 人瀏覽過

話不多說,我們去上班吧。在這篇文章中,我們將熟悉 javascript 程式語言中的陣列方法並解決相關問題。


新增元素,更改。

  • 長度()
  • 推()
  • concat()

關。

  • 彈出()
  • 移位()
  • 拼接()
  • 刪除陣列[i]

搜尋

  • 找出(函數())
  • indexOf()

安排

  • sort() 用於數字, 用於字串

撤銷

  • 反向()

新增和修改項目。

length 方法找出陣列的元素數量或長度。
需要注意的是,Javascript中陣列的類型是object。如果你之前學過c/c或java這樣的語言,這可能看起來有點混亂。在 JavaScript 中,陣列本身實際上是 data-type ,這與 c/c 中的陣列不同。在 JS 中,可以將不同類型的資料儲存在一個陣列中。

// Arrayning uzunligi, o'lchami
const array = ["nimadir", "kimdir", true, 55, 4.6];
console.log(`arrayning uzunligi ${array.length}`);
登入後複製
登入後複製
登入後複製

JavaScript array metodlari.


從數組末尾新增一個元素。

您可能有一個問題。是否可以改變常數變數的值?是的,我們透過 push() 方法插入一個新元素,但我們沒有為陣列設定新值。

// push(), array oxiriga yangi element qo'shish
const array = ["nimadir", "kimdir", true, 55, 4.6];
array.push("yangi element");
console.log(`arrayning uzunligi: ${array} \n`);
登入後複製
登入後複製
登入後複製

JavaScript array metodlari.


合併兩個陣列(連接)。

concat() 方法將合併兩個陣列。

// concat(), ikki arrayni birlashtirish
let array1 = ["nimadir", "kimdir", true, 55, 4.6];
let array2 = [8, 3, 9];
console.log("array1: " + array1, "\n", "array2: " + array2 + "\n");

let result = array1.concat(array2);
console.log(
  `Ikki array bitta yangi arrayga birlashtirildi: result [${result}] \n`
);
登入後複製
登入後複製
登入後複製

JavaScript array metodlari.


從數組中刪除一個元素。

在 JavaScript 中刪除陣列元素有多種不同的方法。
pop() 方法用於從陣列末端刪除一個元素。

// pop(), arrayning oxiridan bitta element o'chiradi
let array1 = [6, "satr", true, 55, 4.6];
console.log(`\navval:  [${array1}]\n`);

array1.pop();
console.log(`keyin:  [${array1}]\n`);
登入後複製
登入後複製

JavaScript array metodlari.


shift() 方法從陣列的開頭刪除一個元素

// shift() Metodi

const array = [44, 5.3, 2, 14, 98, "text", "olma"];
console.log(`\navval: [${array}] \n`);

array.shift();
console.log(`keyin: 44 arrayda emas [${array}]\n`);
登入後複製
登入後複製

JavaScript array metodlari.


splice() 方法的獨特之處在於它不僅用於刪除元素,還用於修改資料。出於刪除目的,此方法採用兩個值。

  • first:是刪除元素的起始索引。
  • 第二個:要刪除多少個元素。

例如: const array = [44, 5.3, 2, 14, 98, "text", "apple"];有。我們要刪除 2 個元素,從索引 3 開始,即 14(14 本身被刪除),2 個元素。

// Arrayning uzunligi, o'lchami
const array = ["nimadir", "kimdir", true, 55, 4.6];
console.log(`arrayning uzunligi ${array.length}`);
登入後複製
登入後複製
登入後複製

JavaScript array metodlari.
為了進行替換,使用 splice() 如下。

  1. 開始索引 array.splice(3, ...)
  2. 要交換多少個元素 array.splice(3, 2, ...)
  3. 分別插入新元素 array.splice(3, 2, "new1", "new2")
// push(), array oxiriga yangi element qo'shish
const array = ["nimadir", "kimdir", true, 55, 4.6];
array.push("yangi element");
console.log(`arrayning uzunligi: ${array} \n`);
登入後複製
登入後複製
登入後複製

JavaScript array metodlari.


delete array[i] 方法是刪除陣列元素的最簡單方法。在這種情況下,寫入的是要刪除的元素的索引,而不是 [i]。

// concat(), ikki arrayni birlashtirish
let array1 = ["nimadir", "kimdir", true, 55, 4.6];
let array2 = [8, 3, 9];
console.log("array1: " + array1, "\n", "array2: " + array2 + "\n");

let result = array1.concat(array2);
console.log(
  `Ikki array bitta yangi arrayga birlashtirildi: result [${result}] \n`
);
登入後複製
登入後複製
登入後複製

JavaScript array metodlari.


從數組中搜尋

find(function()) 方法用於從陣列中搜尋給定元素。將函數作為值寫入此方法,並為該函數提供要搜尋的元素。函數不傳回索引,如果搜尋到的元素存在於數組中,則傳回該元素,否則傳回未定義。

// pop(), arrayning oxiridan bitta element o'chiradi
let array1 = [6, "satr", true, 55, 4.6];
console.log(`\navval:  [${array1}]\n`);

array1.pop();
console.log(`keyin:  [${array1}]\n`);
登入後複製
登入後複製

JavaScript array metodlari.


indexOf() 方法傳回搜尋元素的索引。

// shift() Metodi

const array = [44, 5.3, 2, 14, 98, "text", "olma"];
console.log(`\navval: [${array}] \n`);

array.shift();
console.log(`keyin: 44 arrayda emas [${array}]\n`);
登入後複製
登入後複製

JavaScript array metodlari.


安排

sort() 方法,這就是 JavaScript 的「頭痛」開始的地方。乍一看,sort()方法看起來很簡單,但實際上在幕後還有另一個過程在進行。預設情況下, sort() 對 strings 進行排序,但如果給出整數或數值,則可以正確排序。但是 JavaScript 如果願意的話就會對數字進行排序,如果不想的話則不會(開個玩笑):)

// splice() Metodi

const array = [44, 5.3, 2, 14, 98, "text", "olma"];
console.log(`\navval: [${array}] \n`);

array.splice(3, 2);

console.log(`keyin: 14 va 98 elementlari o'chdi [${array}]\n`);
登入後複製

JavaScript array metodlari.


數值如下。

// splice() Metodi

const array = [44, 5.3, 2, 14, 98, "text", "olma"];
console.log(`\navval: [${array}] \n`);

array.splice(3, 2, "yangi1", "yangi2");

console.log(`keyin: 14 va 98 elementlari almashtirildi [${array}]\n`);
登入後複製

JavaScript array metodlari.


那有什麼問題嗎?

你可以說,我們繼續吧。

// Arrayning uzunligi, o'lchami
const array = ["nimadir", "kimdir", true, 55, 4.6];
console.log(`arrayning uzunligi ${array.length}`);
登入後複製
登入後複製
登入後複製

JavaScript array metodlari.

停下來,看看結果,排序後的陣列:[100,1021,30,45,61,8] 那是什麼! ?
JavaScript 將陣列作為字串進行排序。即使給出了一個數字,它也會被轉換為 ascii 代碼並按字典順序排序,即像字串一樣。這會導致錯誤。在該問題中,100 應該是最後一個數字,30 應該是在 100 之前。作為字符,1 在 3 之前,因此會發生錯誤(請參閱 ascii 表!)。為了解決這個問題,我們將 function() 賦予 sort() 方法。

// push(), array oxiriga yangi element qo'shish
const array = ["nimadir", "kimdir", true, 55, 4.6];
array.push("yangi element");
console.log(`arrayning uzunligi: ${array} \n`);
登入後複製
登入後複製
登入後複製
函數

array.sort((a, b) => a - b); 比較陣列中的兩個元素並決定它們的順序。

  • a 和 b:這是數組中要比較的兩個元素。 sort() 方法將所有元素進行兩兩比較(例如 a 和 b),並根據比較函數的結果對它們進行排列。
  • a - b:透過計算這些差異,確定元素的順序:
  1. 若 a - b 為負數(即 a
  2. 若 a - b 為正(即 a > b),則 b 優先於 a。
  3. 如果 a - b 為零(即 a === b),那麼它們不是互斥的。

結果:

JavaScript array metodlari.


翻轉

reverse() 方法建立一個與其名稱給定的陣列相反的陣列。

// concat(), ikki arrayni birlashtirish
let array1 = ["nimadir", "kimdir", true, 55, 4.6];
let array2 = [8, 3, 9];
console.log("array1: " + array1, "\n", "array2: " + array2 + "\n");

let result = array1.concat(array2);
console.log(
  `Ikki array bitta yangi arrayga birlashtirildi: result [${result}] \n`
);
登入後複製
登入後複製
登入後複製

結果:

JavaScript array metodlari.


希望您透過這篇文章獲得了有關 JavaScript 陣列方法的知識,並將這篇文章分享給您正在學習 JS 的親人!

要審查的問題:

1。新增元素,更改:

a.長度()

問題:想像一個包含 1000 個值的大數組。如果你只需要輸出數組中元素的數量,你會用什麼方法?元素數量如何隨著數組的變更而變化?
問題:如果需要在給定數組的末尾添加 1000 個新元素,請確定數組的長度。哪種方法最有效?

b.推()

問題:您有一個數組,其中每個元素都相同。每次新增元素時,都必須替換數組末尾的元素。如何優化這些操作?
問題:您有一個名為任務的數組,其中包含需要執行的各種任務。每次您需要新增任務並更新清單末尾的任務。你是如何做到這一點的?

c.連接()

問題:您需要合併兩個陣列並以相同的格式顯示它們。第一個陣列僅包含簡單數字,第二個陣列僅包含數字字串。如何從它們創建一個新數組並以數字格式輸出所有數字?
問題:您有兩個數組,一個包含有關使用者的信息,另一個包含使用者的登入歷史記錄。您需要合併這些數組,但您只想顯示使用者的活動狀態歷史記錄。你是如何做到這一點的?

2。刪除:

a.彈出()

問題:您有多個使用者列表,每次都需要從列表中刪除最後一個使用者。但您只想保留過去 3 天的活躍用戶。你如何管理它們?
問題:您有一個名為 books 的數組,其中包含有關各種書籍的資訊。每次您都需要刪除最後一本書並新增新書。你是怎麼做到的?

b.移位()

問題:想像一個使用者正在等待輪到的佇列過程。每次登出下一個使用者並輸入新使用者時。這個過程如何進行?
問題:您有一個按使用者登入時間組織的陣列。您每次都必須取消訂閱第一個使用者。你是如何做到這一點的?

c.拼接()

問題:您有一個學生列表,每次您需要從列表中更改或刪除 3 個學生。這個過程如何進行?
問題:您有一個問題清單。每次都需要刪除和更改幾個問題。更改問題時,其他問題必須保持正確的順序。你是如何做到這一點的?

d.刪除陣列[i]

問題:你有一個很大的數組,你需要根據其索引刪除一個元素。刪除一個元素時應該做什麼,考慮到陣列中其他元素如何改變?
問題:您有一個客戶列表,每個客戶都有一個唯一的 ID 號碼。可以使用什麼方法取消給定 ID 的客戶註冊?

3。搜尋:

a.找出(函數())

問題:您有一個使用者清單。每個使用者都有一個 ID 號碼和一個姓名。您只需要取得名為「John」的使用者的資訊。你是如何做到這一點的?
問題:您有一個產品列表,每個產品都有名稱和價格。你只需要尋找價格在100以上的產品。你是如何做到這一點的?

b. indexOf()

問題:您有一個書籍列表,每本書都有一個標題和作者。如果使用者搜尋一本書,請根據名稱確定它位於哪個索引中。
問題:您有一個產品列表,每個產品都分配一個唯一的識別號碼。如果用戶正在尋找產品,您應該能夠根據其 ID 號碼找到它。這是怎麼做到的?

4。訂單:

a. sort()(數字)

問題:您有多位學生評分。按成績從低到高排序,但按姓名對相同成績的學生進行排序。
問題:您有一個包含產品價格的陣列。您可以按降序排列價格,但如果價格相同,則按銷售日期排序。

b. sort()(對於字串)

問題:您有一系列客戶名稱。您應該按字母順序對它們進行排序,但只能按大寫
問題:您有書名。您想按照所有書籍中單字的長度對它們進行排序。你是如何做到這一點的?

5。點選:

a.反轉()

問題:您有一個由多個數字組成的陣列。您必須以相反的順序輸出該數組。如何計算這個的變化?
問題:您有一個文字列表,並且想要以相反的順序輸出文字。如果文字長度都相同,你會得到什麼?

錯誤和問題

以上是JavaScript 陣列方法。的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板