Thao tác với đối tượng trong hàm trong JavaScript
Hãy thêm vào một đối tượng một hàm sẽ thực hiện một số thao tác hữu ích. Ví dụ, sẽ tìm tổng các phần tử của đối tượng.
Giả sử chúng ta có một đối tượng:
let obj = {a: 1, b: 2, c: 3};
Hãy tạo một Symbol:
let sym = Symbol();
Viết hàm:
obj[sym] = function() {
};
Trong hàm được liên kết với đối tượng,
this sẽ trỏ đến chính
đối tượng:
obj[sym] = function() {
console.log(this); // {a: 1, b: 2, c: 3}
};
Hãy tìm tổng các phần tử của đối tượng bằng hàm của chúng ta:
obj[sym] = function() {
let sum = 0;
for (let key in this) {
sum += this[key];
}
return sum;
};
Gọi hàm của chúng ta để nhận được tổng các phần tử của đối tượng:
let sum = obj[sym]();
console.log(sum); // sẽ in ra 6
Cho một mảng:
let arr = [1, 2, 3];
Bằng cách được mô tả trong bài học, hãy thêm vào mảng một hàm sẽ trả về tổng các phần tử của mảng.
Gọi hàm đã tạo và đảm bảo rằng nó tìm tổng chính xác.
Thêm vào mảng một vài phần tử
bằng phương thức push.
Đảm bảo rằng hàm sẽ tìm được
tổng có tính đến các phần tử mới.