Kiểm tra phần tử có trong mảng JavaScript (includes,indexOf,lastIndexOf) | Laptrinhcanban.com

Kiểm tra phần tử có trong mảng JavaScript (includes,indexOf,lastIndexOf)

Hướng dẫn cách kiểm tra phần tử có trong mảng JavaScript hay không. Bạn sẽ học được 3 cách căn bản để kiểm tra phần tử có tồn tại trong mảng JavaScript hay không sau bài viết này.

Chúng ta có 3 cách kiểm tra phần tử có tồn tại trong mảng JavaScript hay không như sau:

  • Kiểm tra phần tử có trong mảng JavaScript bằng vòng lặp
  • Kiểm tra phần tử có trong mảng JavaScript bằng includes
  • Kiểm tra phần tử có trong mảng JavaScript bằng indexOf() và lastIndexOf()

Lại nữa, phương thức includes() sẽ kiểm tra một mảng phần tử có tồn tại trong mảng ban đầu hay không và trả về giá trị True hoặc False. Nếu bạn muốn kiểm tra và tìm cả vị trí của mảng phần tử trong một mảng, hãy sử dụng trực tiếp các phương thức indexOf() và lastIndexOf() nhé.

Kiểm tra phần tử có tồn tại trong mảng JavaScript bằng vòng lặp

Một trong các phương pháp căn bản nhất để kiểm tra phần tử có trong mảng JavaScript chính là dùng vòng lặp. Ý tưởng ở đây là chúng ta sẽ lấy ra từng phần tử trong mảng ban đầu để so sánh với phần tử cần kiểm tra, và chỉ cần tìm thấy 1 phần tử giống nó trong mảng thì đã đủ chứng tỏ phần tử đó có trong mảng ban đầu.

Chúng ta cũng có thể sử dụng bất kỳ loại vòng lặp nào, ví dụ như vòng lặp for, forEach, hay là while chẳng hạn.

Ví dụ 1: Kiểm tra phần tử có tồn tại trong mảng JavaScript bằng vòng lặp for

function check_arr(element,arr){
let count = 0;
for (let i = 0; i < arr.length; i ++){
if (arr[i] === element) {
count ++;
break
}
}
return (count >0) ? true : false
}

let arr = ['a', "bp", 'c'];


console.log(check_arr("bp", arr));
//> true

console.log(check_arr('d', arr));
//> false

Ví dụ 2: Kiểm tra phần tử có tồn tại trong mảng JavaScript bằng vòng lặp while

function check_arr(element,arr){
let count = i = 0;
while (i < arr.length){
if (arr[i] === element) {
count ++;
break
}
++i;
}
return (count >0) ? true : false
}

let arr = ['a', "bp", 'c'];


console.log(check_arr("bp", arr));
//> true

console.log(check_arr('d', arr));
//> false

Kiểm tra phần tử có tồn tại trong mảng JavaScript bằng phương thức includes

Array includes trong JavaScript là một phương thức của Array Object, có tác dụng kiểm tra phần tử chỉ định có tồn tại trong mảng hay không. Nếu tìm thấy phần tử thì giá trị true (đúng) sẽ được trả về và ngược lại, nếu không tìm thấy phần tử trong mảng thì false (sai) sẽ được trả về.

Chúng ta sử dụng phương thức Array includes trong JavaScript với cú pháp sau đây:

arr.includes (element [, fromIndex] );

Trong đó:

  • element là phần tử cần tìm trong mảng arr
  • fromIndex là vị trí index bắt đầu kiểm tra phần tử trong mảng arr. Và đối số này có thể được lược bỏ.

Thông thường chúng ta lược bỏ đi đối số fromIndex để tiến hành kiểm tra phần tử chỉ định trên toàn mảng ban đầu. Chỉ trong các trường hợp chúng ta muốn kiểm tra trong một phạm vi từ vị trí cụ thể nào đó cho tới cuối mảng ban đầu thì mới dùng thêm fromIndex mà thôi.

Sau đây hãy cùng xem các ví dụ cụ thể sử dụng phương thức includes() để kiểm tra phần tử có trong mảng JavaScript như sau:

Ví dụ 1: kiểm tra 1 phần tử có tồn tại trong mảng JavaScrip hay không

const array1 = [1, 2, 3];

console.log(array1.includes(2));
//true

const pets = ['cat', 'dog', 'bat'];

console.log(pets.includes('cat'));
// true

console.log(pets.includes('at'));
// false

Ví dụ 2: kiểm tra 1 phần tử có trong phạm vi từ một vị trí đến cuối mảng JavaScrip hay không

let arr = ['a', 'b', 'c']

arr.includes('b', 0) // true
arr.includes('b', 1) // true
arr.includes('b', 2) // false
arr.includes('b', 100) // false

Kiểm tra phần tử có tồn tại trong mảng JavaScript bằng phương thức indexOf() và lastIndexOf()

Trong bài trước chúng ta đã biết phương thức indexOf() và lastIndexOf() trong JavaScript sẽ trả về vị trí tìm thấy của phần tử chỉ định trong mảng ban đầu, và nếu phần tử đó không tồn tại thì giá trị -1 sẽ được trả về.

Ứng dụng điều này, chúng ta cũng có thể sử dụng hai phương pháp trên để kiểm tra phần tử có tồn tại trong mảng JavaScript hay không.

Ý tưởng ở đây là sẽ kiểm tra kết quả hai phương thức trên, nếu khác -1 nghĩa là phần tử chỉ định có tồn tại, và nếu kết quả bằng -1 thì có nghĩa là phần tử chỉ định không tồn tại trong mảng ban đầu. Chúng ta cùng xem các ví dụ cụ thể sau đây:

Ví dụ 1: Kiểm tra phần tử có tồn tại trong mảng JavaScript bằng phương thức indexOf()

function check_arr(element,arr){
let check = arr.indexOf(element);
return check == -1 ? false: true
}

let arr = ['a', 'b', 'c'];


console.log(check_arr('b', arr));
//> true

console.log(check_arr('d', arr));
//> false

Ví dụ 2: Kiểm tra phần tử có tồn tại trong mảng JavaScript bằng phương thức lastIndexOf()

function check_arr(element,arr){
let check = arr.lastIndexOf(element);
return check == -1 ? false: true
}

let arr = ['a', 'b', 'c'];


console.log(check_arr('b', arr));
//> true

console.log(check_arr('d', arr));
//> false

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn các cách kiểm tra phần tử có tồn tại trong mảng JavaScript hay không rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.