Một số phương thức mảng hữu ích trong ES6 JavaScript
Các phương thức mảng trong ES6 (JavaScript) rất hữu ích để làm việc với dữ liệu được lưu trữ dạng mảng.
Bởi vì khi lập trình JavaScript, bạn sẽ phải làm việc với dữ liệu mảng rất nhiều. Chúng có thể là mảng số đơn giản hoặc thậm chí là mảng các đối tượng phức tạp.
Sau đây là một số phương thức mảng hữu ích trong ES6.
Phương thức "forEach"
Phương thức forEach()
được sử dụng để lặp qua tất cả các phần tử của mảng.
Ví dụ, để tìm tổng của tất cả các số trong một mảng số.
let sum = 0;
const numbers = [1, 2, 3, 4, 5];
numbers.forEach((num) => {
sum = sum + num;
});
console.log(sum); // 15
Phương thức "map"
Phương thức map()
được dùng để lặp qua tất cả các phần tử của mảng, sửa đổi chúng và trả về một mảng mới nhưng không làm thay đổi mảng cũ.
Ví dụ 1: nhân mỗi số của mảng với 2 và tạo ra mảng mới.
const numbers = [1, 2, 3, 4, 5];
// nhân từng phần tử với 2
let double = numbers.map((num) => {
return num * 2;
});
console.log(double); // [2, 4, 6, 8, 10]
Ví dụ 2: trích xuất các thuộc tính từ một mảng đối tượng và lưu trữ chúng trong một mảng khác.
const objects = [
{ a: 1, b: 2 },
{ a: 3, b: 4 },
{ a: 5, b: 6 },
];
// dùng map để trích xuất thuộc tính b trong mỗi đối tượng
let onlybs = objects.map((object) => {
return object.b;
});
console.log(onlybs); // [2, 4, 6]
Phương thức filter"
Phương thức filter()
được sử dụng để lặp qua tất cả các phần tử của mảng và lọc ra các phần tử thỏa mãn một điều kiện (cho trước) thành một mảng khác.
Ví dụ, để lọc tất cả các đối tượng có flag
là 1
.
let objects = [
{ flag: 1, a: 1 },
{ flag: 0, a: 2 },
{ flag: 1, a: 3 },
];
const newArray = objects.filter((object) => {
return object.flag === 1;
});
newArray.forEach((item) => {
console.log("flag:" + item.flag + ", a:" + item.a);
});
Kết quả:
flag:1, a:1
flag:1, a:3
Phương thức "find"
Phương thức find()
được dùng để tìm và trả về phần tử đầu tiên trong mảng thỏa mãn một điều kiện (cho trước).
Nếu không tìm thấy đối tượng nào thỏa mãn thì phương thức find()
trả về undefined
.
Ví dụ để tìm một đối tượng có flag
là 0
.
let objects = [
{ flag: 1, a: 1 },
{ flag: 0, a: 2 },
{ flag: 1, a: 3 },
{ flag: 0, a: 4 },
];
const item = objects.find((object) => {
return object.flag === 0;
});
console.log(item);
// {flag: 0, a: 2}
Chú ý: Phương thức filter
() trả về một mảng các phần tử, còn phương thứcfind()
trả về một phần tử.
Tham khảo:
★ Nếu bạn thấy bài viết này hay thì hãy theo dõi mình trên Facebook để nhận được thông báo khi có bài viết mới nhất nhé:
- Facebook Fanpage: Complete JavaScript
- Facebook Group: Hỏi đáp JavaScript VN
Bình luận