gpt4 book ai didi

javascript - 如何扩展javascript数组类?

转载 作者:行者123 更新时间:2023-11-28 17:20:15 24 4
gpt4 key购买 nike

我正在尝试扩展 Array 类以向其添加 Sum 方法。这是我的代码,我做错了什么?

Class tipArray extends Array{
sum(values) {
for(i in values) {
total +=i;
}
}
}

var testArray = new tipArray();
testArray = [1,2,3,4];
console.log(testArray.sum());

预期输出 = 10

最佳答案

  1. 首先想象一下如何对一个数组求和(可能是 reduce )。
  2. 将其转换为函数。
  3. 将其添加为类中的方法。您可以使用 this 来引用该数组。
  4. (可选)问问自己是否真的需要一个子类而不是接受数组的函数。

class tipArray extends Array{
sum() {
// Consider making sure the array contains items where sum makes sense here.
return this.reduce((sum, current) => sum + current)
}
}

var testArray = new tipArray(1,2,3,4);
console.log(testArray.sum());

// add another element and take another sum
testArray.push(10)
console.log(testArray.sum());

关于javascript - 如何扩展javascript数组类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52634383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com