1. 程式人生 > >JavaScript 原型鏈 實戰

JavaScript 原型鏈 實戰

最近看到這麼一道題

如何讓下面的程式碼執行:
const a = [1, 2, 3, 4, 5];
// Implement this
a.multiply();
console.log(a); // [1, 2, 3, 4, 5, 1, 4, 9, 16, 25]

執行結果: a.multiply is not a function

解決方式

在原型鏈上加 multiply 方法

Array.prototype.multiply = function () {
        this.forEach((ele) => {
            this.push(Math.pow(ele, 2));
        });
    };

在原型鏈上新增此方法之後的執行效果如下

  console.log(a);// [1, 2, 3, 4, 5]
  a.multiply();
  console.log(a);// [1, 2, 3, 4, 5, 1, 4, 9, 16, 25]