JavaScript mảng duyệt
- Trang trước Sắp xếp mảng JS
- Trang tiếp theo JS mảng Const
Cách duyệt mảng đối tượng đối với mỗi phần tử của mảng.
Array.forEach()
forEach()
Phương pháp gọi hàm (hàm hàm lại) một lần cho mỗi phần tử của mảng.
Mẫu
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value, index, array) { txt = txt + value + "<br>"; }
Ghi chú:Hàm này nhận 3 tham số:
- Giá trị mục
- Chỉ số mục
- Mảng chính
Ví dụ trên chỉ sử dụng tham số value. Ví dụ này có thể được viết lại như sau:
Mẫu
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value) { txt = txt + value + "<br>"; }
Tất cả các trình duyệt đều hỗ trợ Array.forEach()
trừ khi là Internet Explorer 8 hoặc sớm hơn:
Có | 9.0 | Có | Có | Có |
Array.map()
map()
Phương pháp tạo ra một mảng mới bằng cách thực hiện hàm trên mỗi phần tử của mảng.
map()
Phương pháp không thực hiện hàm trên các phần tử mảng không có giá trị.
map()
Phương pháp không thay đổi giá trị ban đầu của mảng.
Ví dụ này nhân mỗi giá trị của mảng với 2:
Mẫu
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value, index, array) { return value * 2; }
Vui lòng chú ý rằng hàm này có 3 tham số:
- Giá trị mục
- Chỉ số mục
- Mảng chính
Khi hàm hàm lại chỉ sử dụng tham số value, bạn có thể bỏ qua các tham số index và array:
Mẫu
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value) { return value * 2; }
Tất cả các trình duyệt đều hỗ trợ Array.map()
trừ khi là Internet Explorer 8 hoặc sớm hơn:
Có | 9.0 | Có | Có | Có |
Array.filter()
filter()
Phương pháp tạo ra một mảng mới chứa các phần tử đã qua kiểm tra.
Ví dụ này tạo ra một mảng mới với các phần tử có giá trị lớn hơn 18:
Mẫu
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value, index, array) { return value > 18; }
Lưu ý rằng hàm này chấp nhận 3 tham số:
- Giá trị mục
- Chỉ số mục
- Mảng chính
Trong ví dụ trên, hàm hàm lại không sử dụng tham số index và array, vì vậy bạn có thể bỏ qua chúng:
Mẫu
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value) { return value > 18; }
Tất cả các trình duyệt đều hỗ trợ Array.filter()
trừ khi là Internet Explorer 8 hoặc sớm hơn:
Có | 9.0 | Có | Có | Có |
Array.reduce()
reduce()
Phương pháp chạy hàm trên mỗi phần tử của mảng để tạo ra (giảm nó) một giá trị duy nhất.
reduce()
Phương pháp hoạt động từ trái sang phải trong mảng. Hãy xem thêm reduceRight().
reduce()
Phương pháp không làm giảm giá trị ban đầu của mảng.
Ví dụ này xác định tổng của tất cả các số trong mảng:
Mẫu
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value, index, array) { return total + value; }
Vui lòng chú ý rằng hàm này nhận 4 tham số:
- Tổng số (giá trị khởi đầu/giá trị trả về trước đó))
- Giá trị mục
- Chỉ số mục
- Mảng chính
Ví dụ trên không sử dụng tham số index và array. Có thể viết lại như sau:
Mẫu
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value) { return total + value; }
reduce()
Phương pháp có thể nhận một giá trị khởi đầu:
Mẫu
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction, 100); function myFunction(total, value) { return total + value; }
Tất cả các trình duyệt đều hỗ trợ Array.reduce()
trừ khi là Internet Explorer 8 hoặc sớm hơn:
Có | 9.0 | Có | Có | Có |
Array.reduceRight()
reduceRight()
Phương pháp chạy hàm trên mỗi phần tử của mảng để tạo ra (giảm nó) một giá trị duy nhất.
reduceRight()
Phương pháp hoạt động từ phải sang trái trong mảng. Hãy xem thêm reduce().
reduceRight()
Phương pháp không làm giảm giá trị ban đầu của mảng.
Ví dụ này xác định tổng của tất cả các số trong mảng:
Mẫu
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value, index, array) { return total + value; }
Vui lòng chú ý rằng hàm này nhận 4 tham số:
- Tổng số (giá trị khởi đầu/giá trị trả về trước đó))
- Giá trị mục
- Chỉ số mục
- Mảng chính
Ví dụ trên không sử dụng tham số index và array. Có thể viết lại như sau:
Mẫu
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value) { return total + value; }
Tất cả các trình duyệt đều hỗ trợ Array.reduceRight()
trừ khi là Internet Explorer 8 hoặc sớm hơn:
Có | 9.0 | Có | Có | Có |
Array.every()
every()
Phương pháp kiểm tra xem tất cả các giá trị mảng có通过了 kiểm tra hay không.
Ví dụ này kiểm tra xem tất cả các giá trị mảng có lớn hơn 18 hay không:
Mẫu
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value, index, array) { return value > 18; }
Lưu ý rằng hàm này chấp nhận 3 tham số:
- Giá trị mục
- Chỉ số mục
- Mảng chính
Nếu hàm回调 chỉ sử dụng tham số đầu tiên (giá trị) thì có thể bỏ qua các tham số khác:
Mẫu
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value) { return value > 18; }
Tất cả các trình duyệt đều hỗ trợ Array.every()
trừ khi là Internet Explorer 8 hoặc sớm hơn:
Có | 9.0 | Có | Có | Có |
Array.some()
some()
Phương pháp kiểm tra xem một số giá trị mảng có通过了 kiểm tra hay không.
Ví dụ này kiểm tra xem một số giá trị mảng có lớn hơn 18 hay không:
Mẫu
var numbers = [45, 4, 9, 16, 25]; var someOver18 = numbers.some(myFunction); function myFunction(value, index, array) { return value > 18; }
Lưu ý rằng hàm này chấp nhận 3 tham số:
- Giá trị mục
- Chỉ số mục
- Mảng chính
Tất cả các trình duyệt đều hỗ trợ Array.some()
trừ khi là Internet Explorer 8 hoặc sớm hơn:
Có | 9.0 | Có | Có | Có |
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ó.
Ghi chú:Vị trí của mục đầu tiên là 0, vị trí của mục thứ hai là 1, và tiếp theo.
Mẫu
Tra cứu mục "Apple" trong mảng:
var fruits = ["Apple", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");
Tất cả các trình duyệt đều hỗ trợ Array.indexOf()
trừ khi là Internet Explorer 8 hoặc sớm hơn:
Có | 9.0 | Có | Có | Có |
cú pháp
array.indexOf(mục, bắt đầu)
mục | bắt buộc. Các mục cần tra cứu. |
bắt đầu | Tùy chọn. Đâu là vị trí bắt đầu tra cứu. Giá trị âm sẽ bắt đầu từ vị trí kết thúc và tra cứu đến kết thúc. |
Nếu không tìm thấy mục:Array.indexOf()
Trả về -1.
Nếu mục xuất hiện nhiều lần, thì trả về vị trí xuất hiện lần đầu tiên.
Array.lastIndexOf()
Array.lastIndexOf()
với Array.indexOf()
Tương tự, nhưng bắt đầu từ cuối mảng.
Mẫu
Tra cứu mục "Apple" trong mảng:
var fruits = ["Apple", "Orange", "Apple", "Mango"]; var a = fruits.lastIndexOf("Apple");
Tất cả các trình duyệt đều hỗ trợ Array.lastIndexOf()
trừ khi là Internet Explorer 8 hoặc sớm hơn:
Có | 9.0 | Có | Có | Có |
cú pháp
array.lastIndexOf(mục, bắt đầu)
mục | bắt buộc. Các mục cần tra cứu. |
bắt đầu | Tùy chọn. Điểm bắt đầu để tìm kiếm. Giá trị âm sẽ bắt đầu từ vị trí cuối cùng và tìm kiếm đến đầu. |
Array.find()
find()
Phương pháp trả về giá trị của phần tử đầu tiên thông qua hàm kiểm tra.
Ví dụ này tìm kiếm (trả về) giá trị của phần tử đầu tiên lớn hơn 18:
Mẫu
var numbers = [4, 9, 16, 25, 29]; var first = numbers.find(myFunction); function myFunction(value, index, array) { return value > 18; }
Lưu ý rằng hàm này chấp nhận 3 tham số:
- Giá trị mục
- Chỉ số mục
- Mảng chính
Trình duyệt cũ không hỗ trợ Array.find()
Dưới đây là phiên bản trình duyệt đầu tiên hỗ trợ phương pháp này hoàn toàn:
45 | 12 | 25 | 8 | 32 |
Array.findIndex()
findIndex()
Phương pháp trả về chỉ số của phần tử đầu tiên thông qua hàm kiểm tra.
Ví dụ này tìm kiếm chỉ số của phần tử đầu tiên lớn hơn 18:
Mẫu
var numbers = [4, 9, 16, 25, 29]; var first = numbers.findIndex(myFunction); function myFunction(value, index, array) { return value > 18; }
Lưu ý rằng hàm này chấp nhận 3 tham số:
- Giá trị mục
- Chỉ số mục
- Mảng chính
Trình duyệt cũ không hỗ trợ Array.findIndex()
Dưới đây là phiên bản trình duyệt đầu tiên hỗ trợ phương pháp này hoàn toàn:
45 | 12 | 25 | 8 | 32 |
- Trang trước Sắp xếp mảng JS
- Trang tiếp theo JS mảng Const