Hướng dẫn JS

JS TRANG CHỦ Giới thiệu JS JS Đến đâu Đầu ra JS Tuyên bố JS Cú pháp JS Bình luận JS Biến JS JS Hãy JS Const Toán tử JS Số học JS Chuyển nhượng JS Các loại dữ liệu JS Các hàm JS Đối tượng JS Sự kiện JS Chuỗi JS Phương thức chuỗi JS Tìm kiếm chuỗi JS Mẫu chuỗi JS Số JS Phương thức số JS Mảng JS Phương thức mảng JS Sắp xếp mảng JS Lặp lại mảng JS JS Array Const JS ngày Định dạng ngày JS Ngày lấy phương thức JS Phương pháp đặt ngày JS Toán JS JS ngẫu nhiên JS Booleans So sánh JS Điều kiện JS Chuyển đổi JS JS Loop cho JS Loop For In JS Loop For Of JS lặp trong khi JS Break JS lặp lại Bộ JS Bản đồ JS JS Typeof Chuyển đổi loại JS JS Bitwise JS RegExp Lỗi JS Phạm vi JS JS Hoists Chế độ nghiêm ngặt JS JS từ khóa này Hàm mũi tên JS Lớp JS JS JSON Gỡ lỗi JS Hướng dẫn kiểu JS Các phương pháp hay nhất về JS JS sai lầm Hiệu suất JS JS dành riêng từ

Phiên bản JS

Phiên bản JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge Lịch sử JS

Đối tượng JS

Định nghĩa đối tượng Thuộc tính đối tượng Phương thức đối tượng Hiển thị đối tượng Người truy cập đối tượng Trình tạo đối tượng Nguyên mẫu đối tượng Đối tượng lặp lại Bộ đối tượng Bản đồ đối tượng Tham chiếu đối tượng

Các hàm JS

Định nghĩa hàm Tham số chức năng Lời mời hàm Gọi hàm Áp dụng chức năng Chức năng đóng cửa

Lớp JS

Giới thiệu Lớp học Kế thừa giai cấp Lớp tĩnh

JS Async

Gọi lại JS JS không đồng bộ JS hứa JS Async / Await

JS HTML DOM

Giới thiệu DOM Phương thức DOM Tài liệu DOM Phần tử DOM DOM HTML Các biểu mẫu DOM DOM CSS Hoạt ảnh DOM Sự kiện DOM Trình xử lý sự kiện DOM Điều hướng DOM Nút DOM Bộ sưu tập DOM Danh sách nút DOM

BOM trình duyệt JS

Cửa sổ JS Màn hình JS Vị trí JS Lịch sử JS JS Navigator JS Popup Alert Thời gian JS JS Cookies

API web JS

Giới thiệu API Web API biểu mẫu web API lịch sử web API lưu trữ web API công nhân web API tìm nạp web API vị trí địa lý web

JS AJAX

Giới thiệu về AJAX AJAX XMLHttp Yêu cầu AJAX Phản hồi AJAX Tệp XML AJAX AJAX PHP AJAX ASP Cơ sở dữ liệu AJAX Ứng dụng AJAX Ví dụ về AJAX

JS JSON

Giới thiệu JSON Cú pháp JSON JSON so với XML Các loại dữ liệu JSON Phân tích cú pháp JSON JSON Stringify Đối tượng JSON Mảng JSON Máy chủ JSON JSON PHP HTML JSON JSON JSONP

JS so với jQuery

Bộ chọn jQuery jQuery HTML jQuery CSS jQuery DOM

Đồ họa JS

Đồ họa JS JS Canvas JS Plotly JS Chart.js JS Google Chart JS D3.js

Ví dụ về JS

Ví dụ về JS JS HTML DOM Đầu vào HTML JS Đối tượng HTML JS Sự kiện HTML JS Trình duyệt JS Trình chỉnh sửa JS Bài tập JS JS Quiz Chứng chỉ JS

Tham khảo JS

Đối tượng JavaScript Đối tượng DOM HTML


Lặp lại mảng JavaScript


Phương thức lặp mảng hoạt động trên mọi mục của mảng.


Mảng JavaScript forEach ()

Phương forEach()thức gọi một hàm (một hàm gọi lại) một lần cho mỗi phần tử mảng.

Thí dụ

const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);

function myFunction(value, index, array) {
  txt += value + "<br>";
}

Lưu ý rằng hàm có 3 đối số:

  • Giá trị mặt hàng
  • Mục lục
  • Chính mảng

Ví dụ trên chỉ sử dụng tham số giá trị. Ví dụ có thể được viết lại thành:

Thí dụ

const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);

function myFunction(value) {
  txt += value + "<br>";
}

Bản đồ mảng JavaScript ()

Phương map()thức tạo một mảng mới bằng cách thực hiện một chức năng trên mỗi phần tử của mảng.

Phương map()thức không thực thi hàm cho các phần tử mảng không có giá trị.

Phương map()thức không thay đổi mảng ban đầu.

Ví dụ này nhân mỗi giá trị mảng với 2:

Thí dụ

const numbers1 = [45, 4, 9, 16, 25];
const numbers2 = numbers1.map(myFunction);

function myFunction(value, index, array) {
  return value * 2;
}

Lưu ý rằng hàm có 3 đối số:

  • Giá trị mặt hàng
  • Mục lục
  • Chính mảng

Khi một hàm gọi lại chỉ sử dụng tham số giá trị, các tham số chỉ mục và mảng có thể bị bỏ qua:

Thí dụ

const numbers1 = [45, 4, 9, 16, 25];
const numbers2 = numbers1.map(myFunction);

function myFunction(value) {
  return value * 2;
}


Bộ lọc mảng JavaScript ()

Phương filter()thức này tạo một mảng mới với các phần tử mảng vượt qua một bài kiểm tra.

Ví dụ này tạo một mảng mới từ các phần tử có giá trị lớn hơn 18:

Thí dụ

const numbers = [45, 4, 9, 16, 25];
const over18 = numbers.filter(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

Lưu ý rằng hàm có 3 đối số:

  • Giá trị mặt hàng
  • Mục lục
  • Chính mảng

Trong ví dụ trên, hàm gọi lại không sử dụng các tham số chỉ mục và mảng, vì vậy chúng có thể bị bỏ qua:

Thí dụ

const numbers = [45, 4, 9, 16, 25];
const over18 = numbers.filter(myFunction);

function myFunction(value) {
  return value > 18;
}

Mảng JavaScript giảm ()

Phương reduce()thức này chạy một hàm trên mỗi phần tử mảng để tạo ra (giảm nó thành) một giá trị duy nhất.

Phương reduce()thức hoạt động từ trái sang phải trong mảng. Xem thêm reduceRight().

Phương reduce()thức này không làm giảm mảng ban đầu.

Ví dụ này tìm tổng của tất cả các số trong một mảng:

Thí dụ

const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduce(myFunction);

function myFunction(total, value, index, array) {
  return total + value;
}

Lưu ý rằng hàm có 4 đối số:

  • Tổng (giá trị ban đầu / giá trị trả về trước đó)
  • Giá trị mặt hàng
  • Mục lục
  • Chính mảng

Ví dụ trên không sử dụng tham số chỉ mục và mảng. Nó có thể được viết lại thành:

Thí dụ

const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduce(myFunction);

function myFunction(total, value) {
  return total + value;
}

Phương reduce()thức có thể chấp nhận một giá trị ban đầu:

Thí dụ

const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduce(myFunction, 100);

function myFunction(total, value) {
  return total + value;
}

JavaScript Array ReduceRight ()

Phương reduceRight()thức này chạy một hàm trên mỗi phần tử mảng để tạo ra (giảm nó thành) một giá trị duy nhất.

Các reduceRight()công việc từ phải sang trái trong mảng. Xem thêm reduce().

Phương reduceRight()thức này không làm giảm mảng ban đầu.

Ví dụ này tìm tổng của tất cả các số trong một mảng:

Thí dụ

const numbers = [45, 4, 9, 16, 25];
let sum = numbers1.reduceRight(myFunction);

function myFunction(total, value, index, array) {
  return total + value;
}

Lưu ý rằng hàm có 4 đối số:

  • Tổng (giá trị ban đầu / giá trị trả về trước đó)
  • Giá trị mặt hàng
  • Mục lục
  • Chính mảng

Ví dụ trên không sử dụng tham số chỉ mục và mảng. Nó có thể được viết lại thành:

Thí dụ

const numbers = [45, 4, 9, 16, 25];
let sum = numbers1.reduceRight(myFunction);

function myFunction(total, value) {
  return total + value;
}

JavaScript Array every ()

Phương every()thức kiểm tra xem tất cả các giá trị của mảng có vượt qua 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:

Thí dụ

const numbers = [45, 4, 9, 16, 25];
let allOver18 = numbers.every(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

Lưu ý rằng hàm có 3 đối số:

  • Giá trị mặt hàng
  • Mục lục
  • Chính mảng

Khi một hàm gọi lại chỉ sử dụng tham số đầu tiên (giá trị), các tham số khác có thể bị bỏ qua:

Thí dụ

const numbers = [45, 4, 9, 16, 25];
let allOver18 = numbers.every(myFunction);

function myFunction(value) {
  return value > 18;
}

JavaScript Array some ()

Phương some()thức kiểm tra xem một số giá trị mảng có vượt qua 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:

Thí dụ

const numbers = [45, 4, 9, 16, 25];
let someOver18 = numbers.some(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

Lưu ý rằng hàm có 3 đối số:

  • Giá trị mặt hàng
  • Mục lục
  • Chính mảng

JavaScript Array indexOf ()

Phương indexOf()thức tìm kiếm một giá trị phần tử trong một mảng và trả về vị trí của nó.

Lưu ý: Mục đầu tiên có vị trí 0, mục thứ hai có vị trí 1, v.v.

Thí dụ

Tìm kiếm một mảng cho mục "Apple":

const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.indexOf("Apple") + 1;

Cú pháp

array.indexOf(item, start)
item Required. The item to search for.
start Optional. Where to start the search. Negative values will start at the given position counting from the end, and search to the end.

Array.indexOf()trả về -1 nếu mục không được tìm thấy.

Nếu mục xuất hiện nhiều hơn một lần, nó sẽ trả về vị trí của lần xuất hiện đầu tiên.


JavaScript Array lastIndexOf ()

Array.lastIndexOf()giống như Array.indexOf(), nhưng trả về vị trí của lần xuất hiện cuối cùng của phần tử được chỉ định.

Thí dụ

Tìm kiếm một mảng cho mục "Apple":

const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.lastIndexOf("Apple") + 1;

Cú pháp

array.lastIndexOf(item, start)
item Required. The item to search for
start Optional. Where to start the search. Negative values will start at the given position counting from the end, and search to the beginning

JavaScript Array find ()

Phương find()thức trả về giá trị của phần tử mảng đầu tiên vượt qua một hàm kiểm tra.

Ví dụ này tìm (trả về giá trị của) phần tử đầu tiên lớn hơn 18:

Thí dụ

const numbers = [4, 9, 16, 25, 29];
let first = numbers.find(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

Lưu ý rằng hàm có 3 đối số:

  • Giá trị mặt hàng
  • Mục lục
  • Chính mảng

Hỗ trợ trình duyệt

find() là một tính năng của ES6 (JavaScript 2015).

Nó được hỗ trợ trong tất cả các trình duyệt hiện đại:

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

find() không được hỗ trợ trong Internet Explorer.


JavaScript Array findIndex ()

Phương findIndex()thức trả về chỉ số của phần tử mảng đầu tiên vượt qua một hàm kiểm tra.

Ví dụ này tìm chỉ mục của phần tử đầu tiên lớn hơn 18:

Thí dụ

const numbers = [4, 9, 16, 25, 29];
let first = numbers.findIndex(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

Lưu ý rằng hàm có 3 đối số:

  • Giá trị mặt hàng
  • Mục lục
  • Chính mảng

Hỗ trợ trình duyệt

findIndex() là một tính năng của ES6 (JavaScript 2015).

Nó được hỗ trợ trong tất cả các trình duyệt hiện đại:

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

findIndex() không được hỗ trợ trong Internet Explorer.




JavaScript Array.from ()

Phương Array.from()thức trả về một đối tượng Array từ bất kỳ đối tượng nào có thuộc tính length hoặc bất kỳ đối tượng nào có thể lặp lại.

Thí dụ

Tạo một mảng từ một chuỗi:

Array.from("ABCDEFG");

Hỗ trợ trình duyệt

from() là một tính năng của ES6 (JavaScript 2015).

Nó được hỗ trợ trong tất cả các trình duyệt hiện đại:

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

from() không được hỗ trợ trong Internet Explorer.


Khóa mảng JavaScript ()

Phương Array.keys()thức này trả về một đối tượng Array Iterator với các khóa của một mảng.

Thí dụ

Create an Array Iterator object, containing the keys of the array:

const fruits = ["Banana", "Orange", "Apple", "Mango"];
const keys = fruits.keys();

for (let x of keys) {
  text += x + "<br>";
}

Browser Support

keys() is an ES6 feature (JavaScript 2015).

It is supported in all modern browsers:

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

keys() is not supported in Internet Explorer.


JavaScript Array includes()

ECMAScript 2016 introduced Array.includes() to arrays. This allows us to check if an element is present in an array (including NaN, unlike indexOf).

Example

const fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits.includes("Mango"); // is true

Syntax

array.includes(search-item)

Array.includes() allows to check for NaN values. Unlike Array.indexOf().

Array.includes() is not supported in Internet Explorer and Edge 12/13.

The first browser versions with full support are:


Browser Support

includes() is an ECMAScript 2016 feature.

It is supported in all modern browsers:

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

includes() is not supported in Internet Explorer.


Complete Array Reference

For a complete Array reference, go to our:

Complete JavaScript Array Reference.

The reference contains descriptions and examples of all Array properties and methods.