Hướng dẫn javascript indexof array
Trong bài này chúng ta sẽ tìm hiểu hàm Array indexOf trong javascript, đây là hàm dùng để tìm kiếm phần tử trong mảng javascript. Show
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Hàm indexOf sẽ tìm kiếm một phần tử trong mảng dựa vào giá trị của phần tử, hàm sẽ trả về vị trị( khóa) của phần tử nếu tìm thấy và trả về -1 nếu không tìm thấy. 1. Array indexOf javascript là gì?Array indexOf trong javascript là một phương thức của đối tượng mảng, nó dùng để tìm kiếm một phần tử trong mảng dựa vào giá trị truyền vào tham số của hàm.
Cú pháp của array indexOf như sau: Bài viết này được đăng tại [free tuts .net] array.indexOf(item, start) Trong đó:
Ví dụ: Cho mảng gồm 6 phần tử như sau. var scores = [10, 20, 30, 10, 40, 20]; Mình sẽ thực hiện thao tác tìm kiếm trên mảng này như sau: console.log(scores.indexOf(10)); // 0 console.log(scores.indexOf(30)); // 2 console.log(scores.indexOf(50)); // -1 console.log(scores.indexOf(20)); // 1 Trong dòng code thứ 3 trả về -1 tại vì giá trị 50 không tìm thấy trong mảng. Mặc định thì hàm này sẽ sử dụng thuật toán tìm kiếm tuyến tính, tức là nó sẽ dò từ đầu mảng đến cuối mảng, phần tử nào bằng với giá trị truyền vào thì sẽ được trả về. Nếu bạn muốn bắt đầu tìm từ một vị trí nào đó thì hãy sử dụng tham số Như ví dụ trên, mình chắc chắn 3 phần tử đầu là không có giá trị 40, vì vậy mình sẽ yêu cầu hàm indexOf tìm từ phần tử thứ 4 (tức là chỉ mục 3) trở đi. console.log(scores.indexOf(40, 3)); // 4 2. Một ví dụ về hàm indexOf trong javascriptVí dụ: Sử dụng hàm indexof để tìm kiếm vị trí xuất hiện của phần tử PHP. demoP = document.getElementById("demo"); function myFunction(item, index) { var subject = ["html", "php", "php", "c#"]; var a = subject.indexOf("php"); document.getElementById("demo").innerHTML = a; } 3. Sử dụng hàm array indexOf với mảng chứa các objectNếu các phần tử trong mảng là các object thì lúc này bạn không thể sử dụng hàm indexOf được. Ví dụ dưới đây mặc dù trong mảng var guests = [ {name: 'John Doe', age: 30}, {name: 'Lily Bush', age: 20}, {name: 'William Gate', age: 25} ]; console.log(guests.indexOf({ name: 'John Doe', age: 30 })); // -1 Như bạn thấy, phần tử đầu tiên và giá trị mình truyền vào hàm indexOf hoàn toàn giống nhau nhưng kết quả trả về vẫn là -1. Để khắc phục vấn đề này thì ta sẽ kết hợp một vài hàm khác nữa như sau:
var guests = [ {name: 'John Doe', age: 30}, {name: 'Lily Bush', age: 20}, {name: 'William Gate', age: 25} ]; // Tìm theo key name let flag = guests.map(function(e){ return e.name; }).indexOf("John Doe"); console.log(flag); // 0 // Tìm theo key age let flag = guests.map(function(e){ return e.age; }).indexOf(30); console.log(flag); // 0 Trên là cách dùng hàm array indexOf trong Javascript. Hàm này rất hữu ích trong trường hợp bạn muốn kiểm tra một giá trị nào đó có tồn tại trong mảng hay không. Trong bài này chúng ta sẽ tìm hiểu hàm Array indexOf trong javascript, đây là hàm dùng để tìm kiếm phần tử trong mảng javascript. Nội dung chính
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Hàm indexOf sẽ tìm kiếm một phần tử trong mảng dựa vào giá trị của phần tử, hàm sẽ trả về vị trị( khóa) của phần tử nếu tìm thấy và trả về -1 nếu không tìm thấy. 1. Array indexOf javascript là gì?Array indexOf trong javascript là một phương thức của đối tượng mảng, nó dùng để tìm kiếm một phần tử trong mảng dựa vào giá trị truyền vào tham số của hàm.
Cú pháp của array indexOf như sau: Bài viết này được đăng tại [free tuts .net] array.indexOf(item, start) Trong đó:
Ví dụ: Cho mảng gồm 6 phần tử như sau. var scores = [10, 20, 30, 10, 40, 20]; Mình sẽ thực hiện thao tác tìm kiếm trên mảng này như sau: console.log(scores.indexOf(10)); // 0 console.log(scores.indexOf(30)); // 2 console.log(scores.indexOf(50)); // -1 console.log(scores.indexOf(20)); // 1 Trong dòng code thứ 3 trả về -1 tại vì giá trị 50 không tìm thấy trong mảng. Mặc định thì hàm này sẽ sử dụng thuật toán tìm kiếm tuyến tính, tức là nó sẽ dò từ đầu mảng đến cuối mảng, phần tử nào bằng với giá trị truyền vào thì sẽ được trả về. Nếu bạn muốn bắt đầu tìm từ một vị trí nào đó thì hãy sử dụng tham số Như ví dụ trên, mình chắc chắn 3 phần tử đầu là không có giá trị 40, vì vậy mình sẽ yêu cầu hàm indexOf tìm từ phần tử thứ 4 (tức là chỉ mục 3) trở đi. console.log(scores.indexOf(40, 3)); // 4 2. Một ví dụ về hàm indexOf trong javascriptVí dụ: Sử dụng hàm indexof để tìm kiếm vị trí xuất hiện của phần tử PHP. demoP = document.getElementById("demo"); function myFunction(item, index) { var subject = ["html", "php", "php", "c#"]; var a = subject.indexOf("php"); document.getElementById("demo").innerHTML = a; } 3. Sử dụng hàm array indexOf với mảng chứa các objectNếu các phần tử trong mảng là các object thì lúc này bạn không thể sử dụng hàm indexOf được. Ví dụ dưới đây mặc dù trong mảng var guests = [ {name: 'John Doe', age: 30}, {name: 'Lily Bush', age: 20}, {name: 'William Gate', age: 25} ]; console.log(guests.indexOf({ name: 'John Doe', age: 30 })); // -1 Như bạn thấy, phần tử đầu tiên và giá trị mình truyền vào hàm indexOf hoàn toàn giống nhau nhưng kết quả trả về vẫn là -1. Để khắc phục vấn đề này thì ta sẽ kết hợp một vài hàm khác nữa như sau:
var guests = [ {name: 'John Doe', age: 30}, {name: 'Lily Bush', age: 20}, {name: 'William Gate', age: 25} ]; // Tìm theo key name let flag = guests.map(function(e){ return e.name; }).indexOf("John Doe"); console.log(flag); // 0 // Tìm theo key age let flag = guests.map(function(e){ return e.age; }).indexOf(30); console.log(flag); // 0 Trên là cách dùng hàm array indexOf trong Javascript. Hàm này rất hữu ích trong trường hợp bạn muốn kiểm tra một giá trị nào đó có tồn tại trong mảng hay không. The Try itSyntax
Parameters
Element to locate in the array. fromIndex OptionalThe index to start the search at. If the index is greater than or equal to the array's length, -1 is returned, which means the array will not be searched. If the provided index value is a negative number, it is taken as the offset from the end of the array. Note: if the provided index is negative, the array is still searched from front to back. If the provided index is 0, then the whole array will be searched. Default: 0 (entire array is searched). Return valueThe first index of the element in the array; -1 if not found. Description The ExamplesUsing indexOf()The following example uses
Finding all the occurrences of an element
Finding if an element exists in the array or not and updating the array
Using indexOf() on sparse arraysYou cannot use
Specifications
Browser compatibilityBCD tables only load in the browser See also |