Hướng dẫn cách tìm phần tử trong mảng JavaScript. Bạn sẽ học được sử dụng các phương thức indexOf và lastIndexOf để tìm phần tử cũng như kiểm tra phần tử có trong mảng JavaScript sau bài học này.
Chúng ta có 2 phương pháp tìm phần tử trong mảng JavaScript như sau:
- Phương thức indexOf: Tìm phần tử từ đầu mảng JavaScript
- Phương thức lastIndexOf: Tìm phần tử từ cuối mảng JavaScript
Chúng ta có thể ứng dụng 2 phương pháp này để kiểm tra phần tử có trong mảng JavaScript.
Tìm phần tử từ đầu mảng JavaScript
Phương thức indexOf trong JavaScript
Phương thức indexOf là phương thức thành viên trong Array Object, có tác dụng tìm kiếm một phần tử giống với giá trị được chỉ định từ đầu đến cuối một mảng trong JavaScript.
Chúng ta sử dụng indexOf để tìm phần tử trong mảng JavaScript với 2 kiểu cú pháp sau đây:
arr.indexOf(value);
arr.indexOf(value, start);
Trong đó arr
là mảng ban đầu, value
là giá trị cần tìm từ đầu mảng đó, và start
là index của vị trí bắt đầu tìm kiếm trong mảng.
Phương thức indexOf sẽ trả về index của phần tử đầu tiên được tìm thấy giống với giá trị chỉ định từ đầu mảng, và nếu không có phần tử nào giống với giá trị đó, giá trị -1
sẽ được trả về.
Lưu ý là phương pháp so sánh sử dụng trong indexOf là so sánh nghiêm ngặt sử dụng tới toán tử ===, và nếu có nhiều phần tử giống với giá trị chỉ định thì chỉ có index của phần tử đầu tiên tìm thấy từ đầu mảng được trả về mà thôi.
Tìm phần tử từ đầu mảng JavaScript bằng indexOf
Chúng ta tìm phần tử từ đầu mảng JavaScript bằng indexOf như ví dụ sau đây:
let week = ['Mon', 'Sat', 'San', 'Sat', 'Fri']; |
Ở ví dụ đầu tiên, mặc dù có 2 phần tử là week[1] và week[3] đều có giá trị bằng ‘Sat’, tuy nhiên chỉ có index của phần tử đầu tiên được tìm thấy từ đầu mảng là week[1] được trả về mà thôi.
Còn ở ví dụ 2, do không tồn tại giá trị ‘Tue’ trong mảng, nên giá trị -1
đã được trả về.
Tìm phần tử từ vị trí chỉ định đến cuối mảng JavaScript
Khi sử dụng phương thức indexOf để tìm kiếm một phần tử từ đầu mảng, nếu chúng ta chỉ định thêm đối số start thì vị trí tìm kiếm sẽ chuyển thành từ start cho tới cuối mảng.
Ví dụ cũng với mảng ở trên, chúng ta sẽ tiến hành tìm kiếm từ vị trí index bằng 2 tới cuối mảng như sau:
let week = ['Mon', 'Sat', 'San', 'Sat', 'Fri']; |
Do đã chỉ định start bằng 2, nên giá trị ‘Sat’ sẽ được tìm kiếm từ vị trí week[2] tới week[4] và trả về kết quả tại week[3].
Tìm phần tử từ cuối mảng JavaScript
Phương thức lastIndexOf trong JavaScript
Phương thức lastIndexOf là phương thức thành viên trong Array Object, có tác dụng tìm kiếm một phần tử giống với giá trị được chỉ định từ cuối lên đầu một mảng trong JavaScript.
Chúng ta sử dụng lastIndexOf để tìm phần tử trong mảng JavaScript với 2 kiểu cú pháp sau đây:
arr.lastIndexOf(value);
arr.lastIndexOf(value, start);
Trong đó arr
là mảng ban đầu, value
là giá trị cần tìm từ cuối mảng đó, và start
là index của vị trí bắt đầu tìm kiếm trong mảng.
Phương thức lastIndexOf sẽ trả về index của phần tử đầu tiên được tìm thấy giống với giá trị chỉ định từ cuối mảng lên đầu mảng, và nếu không có phần tử nào giống với giá trị đó, giá trị -1
sẽ được trả về.
Lưu ý là phương pháp so sánh sử dụng trong lastIndexOf là so sánh nghiêm ngặt sử dụng tới toán tử ===, và nếu có nhiều phần tử giống với giá trị chỉ định thì chỉ có index của phần tử đầu tiên tìm thấy từ cuối mảng được trả về mà thôi.
Tìm phần tử từ cuối mảng JavaScript bằng lastIndexOf
Chúng ta tìm phần tử từ cuối mảng JavaScript bằng lastIndexOf như ví dụ sau đây:
let week = ['Mon', 'Sat', 'San', 'Sat', 'Fri']; |
Ở ví dụ đầu tiên, mặc dù có 2 phần tử là week[1] và week[3] đều có giá trị bằng ‘Sat’, tuy nhiên chỉ có index của phần tử đầu tiên được tìm thấy từ cuối mảng là week[3] được trả về mà thôi.
Còn ở ví dụ 2, do không tồn tại giá trị ‘Tue’ trong mảng, nên giá trị -1
đã được trả về.
Tìm phần tử từ vị trí chỉ định lên đầu mảng JavaScript
Khi sử dụng phương thức lastIndexOf để tìm kiếm một phần tử từ cuối mảng, nếu chúng ta chỉ định thêm đối số start thì vị trí tìm kiếm sẽ chuyển thành từ start lên ngược tới đầu mảng.
Ví dụ cũng với mảng ở trên, chúng ta sẽ tiến hành tìm kiếm từ vị trí index bằng 2 tới đầu mảng như sau:
let week = ['Mon', 'Sat', 'San', 'Sat', 'Fri']; |
Do đã chỉ định start bằng 2, nên giá trị ‘Sat’ sẽ được tìm kiếm từ vị trí week[2] tới week[0] và trả về kết quả tại week[1] như trên.
Kiểm tra phần tử có trong mảng JavaScript
Khi tìm kiếm phần tử trong mảng JavaScript bằng phương thức indexOf hoặc lastIndexOf, nếu không tìm thấy phần tử đó trong mảng thì kết quả -1
được trả về.
Ứng dụng điều này, chúng ta có thể tiến hành kiểm tra phần tử có trong mảng JavaScript theo 2 cách như sau:
Kiểm tra phần tử có trong mảng JavaScript bằng indexOf
Nếu kết quả tìm kiếm phần tử trong mảng JavaScript bằng indexOf bằng -1
, điều đó có nghĩa là phần tử chỉ định không tồn tại trong mảng.
Ví dụ:
function checkelement(ele, week){ |
Kiểm tra phần tử có trong mảng JavaScript bằng lastIndexOf
Một cách tương tự, nếu kết quả tìm kiếm phần tử trong mảng JavaScript bằng IndexOf bằng -1
, điều đó có nghĩa là phần tử chỉ định không tồn tại trong mảng.
Ví dụ:
function checkelement(ele, week){ |
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về cách tìm phần tử trong mảng JavaScript 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.
URL Link
HOME › học javascript - lập trình javascript cơ bản>>04. mảng trong javascript