Các Hàm Xử Lý Dữ Liệu Trong JavaScript
1. Hàm Xử Lý Đối Với Chuỗi (String)
1.1 .length: Độ Dài Của Chuỗi
javascript
const fullName = 'Thanh Van';
console.log(fullName.length);
// Đếm số ký tự trong chuỗi, bao gồm cả dấu cách và ký tự đặc biệt
1.2 .split(ký tự_tách, số_lượng): Tách Chuỗi Thành Mảng
javascript
const fullName = 'Thanh Van';
const words = fullName.split(' ', 1);
// Tách chuỗi bằng dấu cách thành mảng chứa nhiều chuỗi
1.3 .substring(bắt_đầu, kết_thúc): Cắt Chuỗi
javascript
const fullName = 'Thanh Van';
console.log(fullName.substring(2, 5)); // Cắt từ vị trí thứ 2 đến vị trí thứ 5
1.4 .toLowerCase(): Chuyển Đổi Chữ Hoa Thành Chữ Thường
javascript
const fullName = 'Thanh Van';
console.log(fullName.toLowerCase());
1.5 .toUpperCase(): Chuyển Đổi Chữ Thường Thành Chữ Hoa
javascript
const fullName = 'Thanh Van';
console.log(fullName.toUpperCase());
1.6 .indexOf('ký_tự'): Tìm Vị Trí Ký Tự Đầu Tiên Xuất Hiện
javascript
const fullName = 'Thanh Van';
console.log(fullName.indexOf('n')); // Kết quả: 3
// Nếu không tìm thấy, trả về -1
1.7 .lastIndexOf('ký_tự'): Tìm Vị Trí Ký Tự Cuối Cùng
javascript
const fullName = 'Thanh Van';
console.log(fullName.lastIndexOf('n')); // Kết quả: 8
1.8 .trim(): Cắt Dấu Cách Ở Hai Đầu Chuỗi
// Dùng trong đăng nhập người dùng, cắt dấu cách thừa
1.9 .replace('cũ', 'mới'): Thay Thế Ký Tự Đầu Tiên Xuất Hiện
javascript
const fullName = 'Thanh Van';
console.log(fullName.replace('n', 't'));
1.10 .includes('ký_tự'): Kiểm Tra Ký Tự Có Trong Chuỗi Hay Không
javascript
const fullName = 'Thanh Van';
console.log(fullName.includes('Na')); // Kết quả: true
1.11 .slice(bắt_đầu, kết_thúc): Cắt Chuỗi
javascript
const fullName = 'Thanh Van';
console.log(fullName.slice(2, 5));
2. Hàm Xử Lý Đối Với Mảng (Array)
2.1 .length: Độ Dài Của Mảng
javascript
const students = ['Nguyen', 'Tung', 'Toan', 'Hoa'];
console.log(students.length); // Kết quả: 4
2.2 .push(): Thêm Phần Tử Vào Cuối Mảng
javascript
const students = ['Nguyen', 'Tung', 'Toan', 'Hoa'];
students.push('Lan');
console.log(students); // Kết quả: ['Nguyen', 'Tung', 'Toan', 'Hoa', 'Lan']
2.3 .pop(): Xóa Phần Tử Cuối Cùng Của Mảng
javascript
const students = ['Nguyen', 'Tung', 'Toan', 'Hoa'];
students.pop();
console.log(students); // Kết quả: ['Nguyen', 'Tung', 'Toan']
2.4 .shift(): Xóa Phần Tử Đầu Tiên Của Mảng
2.5 .unshift(): Thêm Phần Tử Vào Đầu Mảng
2.6 .reverse(): Đảo Ngược Thứ Tự Các Phần Tử
javascript
const students = ['Nguyen', 'Tung', 'Toan', 'Hoa'];
students.reverse();
console.log(students); // Kết quả: ['Hoa', 'Toan', 'Tung', 'Nguyen']
2.7 .splice(bắt_đầu, số_lượng): Cắt Mảng Từ Vị Trí Bắt Đầu
javascript
const students = ['Nguyen', 'Tung', 'Toan', 'Hoa', 'Huong'];
console.log(students.splice(2, 3)); // Kết quả: ['Toan', 'Hoa', 'Huong']
2.8 .sort(): Sắp Xếp Mảng Theo Thứ Tự Từ Điển
javascript
const students = ['Nguyen', 'Tung', 'Toan', 'Hoa'];
console.log(students.sort()); // Kết quả: ['Hoa', 'Nguyen', 'Toan', 'Tung']
2.9 .reduce(fn, giá_trị_bắt_đầu): Tính Toán Tổng Hợp Các Phần Tử
javascript
const numbers = [1, 2, 4, 5, 7];
const total = numbers.reduce((acc, current) => acc + current, 0);
console.log(total); // Kết quả: tổng các số
2.10 .filter(fn): Lọc Các Phần Tử Trong Mảng
javascript
const numbers = [1, 2, 4, 5, 7];
const evenNumbers = numbers.filter(n => n % 2 === 0);
console.log(evenNumbers); // Kết quả: [2, 4]
2.11 .map(fn): Tạo Mảng Mới Dựa Trên Mảng Cũ
javascript
const numbers = [1, 2, 4, 5, 7];
const doubledNumbers = numbers.map(n => n * 2);
console.log(doubledNumbers); // Kết quả: [2, 4, 8, 10, 14]
2.12 .some(fn): Kiểm Tra Có Ít Nhất Một Phần Tử Đáp Ứng Điều Kiện
2.13 .every(fn): Kiểm Tra Tất Cả Phần Tử Đáp Ứng Điều Kiện
2.14 .find(fn): Tìm Phần Tử Đầu Tiên Đáp Ứng Điều Kiện
javascript
const numbers = [1, 2, 4, 5, 7];
const firstEven = numbers.find(n => n % 2 === 0);
console.log(firstEven); // Kết quả: 2
2.15 .includes(giá_trị, vị_trí_bắt_đầu): Kiểm Tra Giá Trị Có Trong Mảng Hay Không
javascript
const numbers = [1, 2, 4, 5, 7];
const hasFour = numbers.includes(4);
console.log(hasFour); // Kết quả: true
Tài Liệu Tham Khảo
Nguồn: Bùi Văn Nguyện
source: viblo