Tìm kiếm mảng JavaScript

Phương pháp tìm kiếm và duyệt mảng

Xem thêm:

JavaScript Array indexOf()

indexOf() Phương pháp tìm kiếm giá trị phần tử trong mảng và trả về vị trí của nó.

Lưu ý:Vị trí của phần tử đầu tiên là 0, vị trí của phần tử thứ hai là 1, và thế là.

Ví dụ

Tìm kiếm phần tử "Apple" trong mảng:

const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.indexOf("Apple") + 1;

Thử nghiệm ngay

cú pháp

array.indexOf(item, start)
item Bắt buộc. Phần tử cần tìm kiếm.
start Tùy chọn. Vị trí bắt đầu để tìm kiếm. Giá trị âm sẽ bắt đầu từ cuối mảng và tìm kiếm đến cuối.

Giá trị trả về:

  • Nếu không tìm thấy phần tử, thì trả về -1.
  • Nếu phần tử xuất hiện nhiều lần, thì trả về vị trí xuất hiện lần đầu tiên.

JavaScript Array lastIndexOf()

lastIndexOf() Phương pháp với indexOf() Cùng với đó, nhưng trả về vị trí xuất hiện lần cuối của phần tử được chỉ định.

Ví dụ

Tìm kiếm phần tử "Apple" trong mảng:

const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.lastIndexOf("Apple") + 1;

Thử nghiệm ngay

cú pháp

array.lastIndexOf(item, start)
item Bắt buộc. Phần tử cần tìm kiếm.
start Tùy chọn. Vị trí bắt đầu để tìm kiếm. Giá trị âm sẽ bắt đầu từ cuối mảng và tìm kiếm đến đầu.

JavaScript Array includes()

ECMAScript 2016 đã giới thiệu Array.includes() Phương pháp. Nó cho phép chúng ta kiểm tra xem mảng có chứa phần tử nào đó hay không (bao gồm NaN, khác với indexOf).

Ví dụ

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango"); // trả về true

Thử nghiệm ngay

cú pháp

array.includes(search-item)

search-item:phần tử cần tìm.

Lưu ý:includes() có thể kiểm tra giá trị NaN trong khi indexOf() không thể.

Hỗ trợ trình duyệt

includes()ECMAScript 2016 tính năng.

từ tháng 3 năm 2017, tất cả các trình duyệt hiện đại đều hỗ trợ ES2016:

Chrome Edge Firefox Safari Opera
Chrome 52 Edge 15 Firefox 52 Safari 10.1 Opera 39
tháng 7 năm 2016 tháng 4 năm 2017 tháng 3 năm 2017 tháng 5 năm 2017 tháng 8 năm 2016

Internet Explorer không hỗ trợ includes().

JavaScript Array find()

find() phương pháp trả về giá trị của phần tử đầu tiên trong mảng thông qua hàm kiểm tra.

Ví dụ

tìm phần tử đầu tiên lớn hơn 18:

const numbers = [4, 9, 16, 25, 29];
let first = numbers.find(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Thử nghiệm ngay

Lưu ý:hàm nhận 3 tham số:

  • giá trị phần tử
  • trị số chỉ mục phần tử
  • mảng chính nó

Hỗ trợ trình duyệt

find() là tính năng của ES6 (JavaScript 2015).

từ tháng 6 năm 2017, tất cả các trình duyệt hiện đại đều hỗ trợ ES6:

Chrome Edge Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
tháng 5 năm 2016 tháng 4 năm 2017 tháng 6 năm 2017 tháng 9 năm 2016 tháng 6 năm 2016

Internet Explorer không hỗ trợ find().

JavaScript Array findIndex()

findIndex() phương pháp trả về chỉ mục của phần tử đầu tiên trong mảng thông qua hàm kiểm tra.

Ví dụ

tìm chỉ mục của phần tử đầu tiên lớn hơn 18:

const numbers = [4, 9, 16, 25, 29];
let first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Thử nghiệm ngay

Lưu ý:hàm nhận 3 tham số:

  • giá trị phần tử
  • trị số chỉ mục phần tử
  • mảng chính nó

Hỗ trợ trình duyệt

findIndex() là tính năng của ES6 (JavaScript 2015).

từ tháng 6 năm 2017, tất cả các trình duyệt hiện đại đều hỗ trợ ES6:

Chrome Edge Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
tháng 5 năm 2016 tháng 4 năm 2017 tháng 6 năm 2017 tháng 9 năm 2016 tháng 6 năm 2016

Internet Explorer không hỗ trợ findIndex().

JavaScript Array findLast()

ES2023 đã thêm mới findLast() phương pháp, nó từ cuối mảng bắt đầu tìm kiếm và trả về giá trị của phần tử đầu tiên thỏa mãn điều kiện.

Ví dụ

const temp = [27, 28, 30, 40, 42, 35, 30];
let high = temp.findLast(x => x > 40);

Thử nghiệm ngay

Hỗ trợ trình duyệt

findLast() Là tính năng của ES2023.

Từ tháng 7 năm 2023, tất cả các trình duyệt hiện đại đều hỗ trợ:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Tháng 2 năm 2023 Tháng 2 năm 2023 Tháng 7 năm 2023 Tháng 3 năm 2023 Tháng 5 năm 2023

Phương pháp findLastIndex() của JavaScript Array

findLastIndex() Phương pháp tìm kiếm chỉ số của phần tử cuối cùng thỏa mãn điều kiện.

Ví dụ

const temp = [27, 28, 30, 40, 42, 35, 30];
let pos = temp.findLastIndex(x => x > 40);

Thử nghiệm ngay

Hỗ trợ trình duyệt

findLastIndex() Là tính năng của ES2023.

Từ tháng 7 năm 2023, tất cả các trình duyệt hiện đại đều hỗ trợ:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Tháng 2 năm 2023 Tháng 2 năm 2023 Tháng 7 năm 2023 Tháng 3 năm 2023 Tháng 5 năm 2023

Tài liệu tham khảo đầy đủ về mảng

Để có tài liệu tham khảo đầy đủ về mảng, hãy truy cập:JavaScript 数组参考手册.

Sách hướng dẫn này bao gồm mô tả và ví dụ về tất cả các thuộc tính và phương pháp của mảng.