ARRAY FUNCTION
NUMBER FUNCTION
STRING FUNCTION
DATE / TIME FUNCTION
MATH FUNCTION
GLOBAL FUNCTION
BOOLEAN FUNCTION
DOM FUNCTION
appendChild Javascript parentElement Javascript parentNode Javascript insertAfter Javascript insertBefore javascript innerHTML Javascript insertAdjacentHTML javascript nextSibling javascript activeElement Javascript adoptNode Javascript anchors Javascript baseURI Javascript Document.body Javascript characterSet Javascript createAttribute Javascript Hàm document.createComment() trong Javascript Hàm document.createDocumentFragment() trong Javascript Hàm document.createElement() trong Javascript Hàm document.createTextNode() trong Javascript Hàm document.doctype trong Javascript Hàm document.documentElement trong Javascript Hàm document.documentMode trong Javascript Hàm document.documentURI trong Javascript Hàm document.domain trong Javascript Hàm document.embeds trong Javascript Hàm document.forms trong Javascript Hàm document.hasFocus() trong Javascript Hàm document.head trong Javascript Hàm document.images trong Javascript Hàm document.implementation trong Javascript Hàm document.importNode() trong Javascript Hàm document.inputEncoding trong Javascript Hàm document.lastModified trong Javascript Hàm document.links trong Javascript Hàm document.normalize() trong Javascript Hàm document.scripts trong Javascript Hàm document.querySelector() trong Javascript Hàm document.readyState trong Javascript Hàm document.removeEventListener() trong Javascript Hàm document.querySelectorAll() trong Javascript Hàm document.title trong Javascript Hàm document.URL trong Javascript Hàm document.write() trong Javascript Hàm document.writeln() trong Javascript Hàm document.getElementById() trong Javascript Hàm document.getElementsByClassName() trong Javascript Hàm document.getElementsByName() trong Javascript Hàm document.getElementsByTagName() trong Javascript
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Hàm forEach() trong Javascript

Trong bài này mình sẽ nói về hàm forEach trong javascript, đây là hàm dùng để lặp qua các phần tử của mảng một cách dễ dàng.

test php

banquyen png
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 forEach sẽ lần lượt truyền các phần tử của mảng vào một hàm được cung câp trước đó, hàm này sẽ tiến hành xử lý các thành phần tử cửa mảng như là một tham số truyền vào.

1. Hàm forEach trong Javascript là gì?

forEach javascript là một phương thức thuộc đối tượng mảng trong javascript. Hàm này sẽ giúp lặp qua các phần tử của mảng, nó có một tham số truyền vào, và tham số này sẽ lưu trữ giá trị của phần tử trong mỗi lần lặp.

Hàm forEach sẽ không thực hiện đối với những phần tử không có giá trị.

Bài viết này được đăng tại [free tuts .net]

Cú pháp như sau:

 array.forEach(function(currentValue, index, arr), thisValue)

Trong đó:

  • currentValue - giá trị của phần tử hiện tại.
  • index - chỉ số của phần tử hiện tại.
  • arr - mảng mà phần tử hiện tại thuộc về.
  • thisValue - tham số không bắt buộc. Nếu được truyền vào thì thisValue sẽ được sử dụng làm giá trị this. Nếu không được truyền vào thì giá trị "this" là "undefined".

Thực ra thì bạn hoàn toàn có thể sử dụng vòng lặp for, nhưng javascript đã cung cấp phương thức forEach rồi nên từ giờ bạn sẽ có thêm một sự lựa chọn.

Ví dụ: Lặp qua và in giá trị của các phần tử trong mảng ranks.

let ranks = ['A', 'B', 'C'];

ranks.forEach(function (e) {
    console.log(e); // A B C
});

Với bài này thì bạn có thể sử dụng vòng lặp for như sau:

let ranks = ['A', 'B', 'C'];
for (let i = 0; i < ranks.length; i++) {
    console.log(ranks[i]);
}

2. Sử dụng arrow function trong hàm forEach

Ngoài cách viết function bình thường như trên thì bạn có thể sử dụng arrow function trong es6.

let ranks = ['A', 'B', 'C'];

ranks.forEach((e) => {
    console.log(e);
});

3. Sử dụng this trong hàm callback của forEach

Trước tiên hãy xét ví dụ dưới đây.

let ranks = ['A', 'B', 'C'];

ranks.forEach(function (e) {
    console.log(this); // window object
});

Nếu chạy trong chế độ bình thường thì con trỏ this chính là đối tượng window, nhưng nếu chạy trong chế độ strict mode thì nó sẽ là undefined. Nếu bạn muốn biết rõ hơn vê con trỏ this thì hãy xem trong bài viết hiểu rõ về this trong Javascript.

Bây giờ mình muốn con trỏ this chính là biến ranks thì làm bằng cách nào? Rất đơn giản, hãy sử dụng tham số thisValue mà mình đã giới thiệu ở phần 1.

let ranks = ['A', 'B', 'C'];

ranks.forEach(function (e) {
    console.log(this); // ranks
}, ranks);

Chạy ví dụ này lên thì this chính là biến ranks.

Tuy nhiên, nếu bạn sử dụng arrow function thì đối tượng this không tồn tại nhé các bạn.

let ranks = ['A', 'B', 'C'];

ranks.forEach((e) => {
    console.log(this); // window object
}, ranks);

4. Một ví dụ khác nữa về forEach javascript

Ví dụ: sử dụng hàm forEach để in ra các phần tử của mảng.

Code RUN
demoP = document.getElementById("demo");
var numbers = [4, 9, 16, 25];

function myFunction(item, index) {
    demoP.innerHTML = demoP.innerHTML + "index[" + index + "]: " + item + "<br>"; 
}

Trên là cách sử dụng hàm foreach trong javascript. Qua bài này bạn phải nắm bắt cú pháp nói chung và những tham số truyền vào của hàm forEach. Để lặp qua các phần tử của mảng thì có rất nhiều giải pháp, và tùy vào từng trường hợp mà bạn hãy chọn một giải pháp phù hợp.

Cùng chuyên mục:

Functional Programming là gì? Tại sao và khi nào bạn nên sử dụng trong JavaScript

Functional Programming là gì? Tại sao và khi nào bạn nên sử dụng trong JavaScript

Những tính năng mới trong ES6+ trong JavaScript

Những tính năng mới trong ES6+ trong JavaScript

4 cách tránh memory leaks trong JavaScript

4 cách tránh memory leaks trong JavaScript

Capturing và bubbling Event trong Javascript

Capturing và bubbling Event trong Javascript

Phân biệt prototype và __proto__ trong JavaScript

Phân biệt prototype và __proto__ trong JavaScript

Cách hoạt động của Event Loop trong JavaScript

Cách hoạt động của Event Loop trong JavaScript

Phương thức bind(), call(), và apply() trong JavaScript

Phương thức bind(), call(), và apply() trong JavaScript

Cách khắc phục lỗi

Cách khắc phục lỗi "hoisting" trong JavaScript

Sử dụng Promise.all và Promise.race để quản lý các Promise trong JavaScript

Sử dụng Promise.all và Promise.race để quản lý các Promise trong JavaScript

Xử lý bất đồng bộ bằng vòng lặp for-await trong JavaScript

Xử lý bất đồng bộ bằng vòng lặp for-await trong JavaScript

Sự khác biệt giữa Promise, Callback và Async/Await trong JavaScript

Sự khác biệt giữa Promise, Callback và Async/Await trong JavaScript

Cách sử dụng Async functions trong JavaScript

Cách sử dụng Async functions trong JavaScript

Hàm String isspace() trong Python

Hàm String isspace() trong Python

Cách tạo số ngẫu nhiên trong Javascript

Cách tạo số ngẫu nhiên trong Javascript

Hướng dẫn cách tạo một số ngẫu nhiên ...

Cách gộp hai object javascript lại với nhau

Cách gộp hai object javascript lại với nhau

Cách lấy chiều dài của object trong Javascript

Cách lấy chiều dài của object trong Javascript

Hướng dẫn giải phương trình bậc 1 bằng Javascript

Hướng dẫn giải phương trình bậc 1 bằng Javascript

Cách dùng nextSibling trong javascript

Cách dùng nextSibling trong javascript

Cách dùng insertAdjacentHTML trong javascript

Cách dùng insertAdjacentHTML trong javascript

Cách dùng innerHTML trong Javascript

Cách dùng innerHTML trong Javascript

Top