<aside> 💡 Ngoài for... JS cũng còn nhiều method hay ho để xử lý mảng mà
</aside>
Thêm một phần tử vào vị trí đầu tiên của mảng, đồng thời đẩy các phẩn từ phía sau lên một bậc.
Hàm splice() có ba tham số truyền vào như sau: splice(position_add, num_element_remove, value1, value2, ...).
Trong đó:
position_add là vị trí sẽ thêm (vị trí đầu tiên là 0)num_element_remove là số phần tử sẽ xóa (bắt đầu từ position_add)value1, value2, .. là danh sách các phần tử sẽ được thêm vào sau khi tại vị trí position_add và sau khi xóa số lượng num_element_remove phần tử.// vi du xoa phan tu
var arr= ["Học", "lập", "trình", "tại", "Misa"];
// xóa phần tử "lập" và "trình"
arr.splice(1, 2);
console.log(arr);
// vi du them phan tu vao mang
var arr= ["Học", "lập", "trình", "tại", "Misa"];
arr.splice(1, 2, 'Fresher', 'căn bản ');
console.log(arr);
<aside> 💡 Reduce là một phương thức sẵn có được sử dụng để thực thi một hàm lên các phần tử của mảng (từ trái sang phải) với một biến tích lũy để thu về một giá trị duy nhất. Là một phương thức quan trọng hay sử dụng trong lập trình hàm.
</aside>
arr.reduce(callback( accumulator, currentValue[, index[, array]] ) {
// loop qua item
}[, initialValue])
// accumulator biến tích lũy, được trả về sau mỗi lần gọi hàm callback.
// currentValue phần tử của mảng đang được xử lý.
// index (Optional) chỉ số của phần tử trong mảng đang được xử lý.
// array (Optional) mảng hiện tại gọi hàm reduce().
// initialValue là giá trị cho tham số thứ nhất (accumulator) của hàm callback trong lần gọi hàm đầu tiên. Nếu giá trị này không được cung cấp thì giá trị phần tử đầu tiên của mảng sẽ được sử dụng.
Ví dụ: Biến mảng thành object
var arr = [
{ key: 'foo', val: 'bar' },
{ key: 'hello', val: 'world' }
];
var result = arr.reduce(function(map, obj) {
map[obj.key] = obj.val;
return map;
}, {});
console.log(result);
// { foo:'bar', hello:'world' }