gpt4 book ai didi

javascript - 在 JavaScript 中扩展数组原型(prototype)

转载 作者:可可西里 更新时间:2023-11-01 01:53:49 26 4
gpt4 key购买 nike

<分区>

我经常发现自己想要对数组中的所有项执行某些操作,我希望 JavaScript 具有类似于 C# 的 LINQ 的功能。因此,为此,我对 Array 原型(prototype)进行了一些扩展:

var data = [1, 2, 3];
Array.prototype.sum = function () {
var total = 0;
for (var i = 0; i < this.length; i++) {
total += this[i];
}
return total;
};
Array.prototype.first = function () {
return this[0];
};
Array.prototype.last = function () {
return this[this.length - 1];
};
Array.prototype.average = function () {
return this.sum() / this.length;
};
Array.prototype.range = function () {
var self = this.sort();
return {
min: self[0],
max: self[this.length-1]
}
};
console.log(data.sum()) <-- 6

如果您需要对数组进行一些数学处理,这会使使用数组变得更加容易。有什么反对使用这样的模式的建议吗?我想我可能应该创建自己的继承自 Array 原型(prototype)的类型,但除此之外,如果这些数组中只包含数字,这是个好主意吗?

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