0

Một số ghi chú về Array trong JavaScript

Nắm vững mảng (Array) trong JavaScript với bảng ghi chú toàn diện này. Học cách sử dụng các phương thức, cú pháp và thực tiễn tốt nhất khi làm việc với mảng trong JavaScript. Hãy cùng tìm hiểu nhé!

Nếu bạn đang tìm kiếm khóa học JavaScript miễn phí hoặc khóa học trực tuyến để nâng cao kỹ năng, bạn đã đến đúng nơi! Hướng dẫn trong bài viết này bao gồm các phương thức quan trọng của mảng JavaScript, tối ưu hóa hiệu suất và các câu hỏi phỏng vấn phổ biến. Dù bạn là người mới bắt đầu hay lập trình viên nâng cao, tài liệu này sẽ giúp bạn học JavaScript miễn phí!

Mảng JavaScript: Những điều cơ bản

Mảng là một cấu trúc dữ liệu quan trọng trong JavaScript, lưu trữ nhiều giá trị theo thứ tự. Việc hiểu về mảng rất quan trọng trong lập trình web vì chúng giúp quản lý và xử lý dữ liệu hiệu quả.

Khai báo mảng trong JavaScript

const numbers = [1, 2, 3, 4, 5];

const fruits = ['apple', 'banana', 'cherry'];

Các phương thức phổ biến của mảng JavaScript

JavaScript cung cấp nhiều phương thức tích hợp sẵn để thao tác với mảng. Thành thạo chúng sẽ giúp bạn trong lập trình thực tế và các khóa học lập trình JavaScript.

1. Thêm & xóa phần tử

push() – Thêm phần tử vào cuối. pop() – Xóa phần tử cuối cùng. unshift() – Thêm phần tử vào đầu. shift() – Xóa phần tử đầu tiên.

const arr = [1, 2, 3];

arr.push(4); // [1, 2, 3, 4]

arr.pop(); // [1, 2, 3]

arr.unshift(0); // [0, 1, 2, 3]

arr.shift(); // [1, 2, 3]

2. Duyệt qua mảng

forEach() – Lặp qua từng phần tử. map() – Tạo mảng mới bằng cách áp dụng hàm cho từng phần tử. filter() – Trả về mảng mới với các phần tử thỏa mãn điều kiện. reduce() – Giảm mảng thành một giá trị duy nhất.

const numbers = [1, 2, 3, 4, 5];

numbers.forEach(num => console.log(num));

const doubled = numbers.map(num => num * 2);

const evens = numbers.filter(num => num % 2 === 0);

const sum = numbers.reduce((acc, num) => acc + num, 0);

3. Tìm kiếm & biến đổi

find() – Tìm phần tử đầu tiên khớp với điều kiện. some() – Kiểm tra nếu có ít nhất một phần tử thỏa mãn điều kiện. every() – Kiểm tra nếu tất cả phần tử thỏa mãn điều kiện. indexOf() – Tìm chỉ mục của phần tử. includes() – Kiểm tra xem phần tử có tồn tại không.

const nums = [10, 20, 30, 40];

console.log(nums.find(n => n > 25)); // 30

console.log(nums.includes(20)); // true

console.log(nums.indexOf(30)); // 2

4. Sắp xếp & đảo ngược

sort() – Sắp xếp mảng (thay đổi mảng gốc). reverse() – Đảo ngược thứ tự mảng. toSorted() (ES2023) – Trả về bản sao đã sắp xếp mà không thay đổi mảng gốc.

const scores = [40, 10, 100, 50];

scores.sort((a, b) => a - b); // [10, 40, 50, 100]

5. Loại bỏ trùng lặp

const uniqueNumbers = [...new Set([1, 2, 2, 3, 4, 4, 5])]; // [1, 2, 3, 4, 5]

Mẹo tối ưu hiệu suất JavaScript

Tối ưu mã JavaScript có thể cải thiện hiệu suất, đặc biệt trong ứng dụng web và phát triển server-side.

  • Sử dụng push() thay vì unshift() – push() nhanh hơn vì không cần dịch chuyển chỉ mục.
  • Dùng Set để loại bỏ phần tử trùng lặp – Hiệu quả hơn so với lọc thủ công.
  • Dùng map() và reduce() một cách hợp lý – map() tạo mảng mới, trong khi forEach() chỉnh sửa tại chỗ.
  • Sắp xếp với hàm so sánh – sort() mặc định chuyển giá trị thành chuỗi, có thể gây lỗi thứ tự.

Câu hỏi phỏng vấn JavaScript Array

Nếu bạn đang học lập trình JavaScript hoặc chuẩn bị phỏng vấn, hãy luyện tập các câu hỏi sau:

  • Viết hàm đảo ngược mảng mà không dùng .reverse().
  • Tìm số bị thiếu trong một dãy số.
  • Tự triển khai một hàm map() giống Array.prototype.map.
  • Xoay vòng mảng theo k vị trí.
  • Tìm phần tử xuất hiện nhiều nhất trong mảng.

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí