自定数组对象,对数组对象进行数学运算
时间: 2024-02-17 14:28:11 浏览: 102
首先,定义一个数组对象,可以包含一个数组和一些方法来对数组进行数学运算。以下是一个示例代码:
```javascript
class MathArray {
constructor(arr) {
this.arr = arr;
}
// 求和
sum() {
return this.arr.reduce((acc, val) => acc + val);
}
// 平均值
average() {
return this.sum() / this.arr.length;
}
// 最大值
max() {
return Math.max(...this.arr);
}
// 最小值
min() {
return Math.min(...this.arr);
}
// 排序
sort() {
return this.arr.sort((a, b) => a - b);
}
// 求和平方
sumSquare() {
return this.arr.reduce((acc, val) => acc + val**2);
}
// 方差
variance() {
const avg = this.average();
const sumSquare = this.sumSquare();
return sumSquare/this.arr.length - avg**2;
}
// 标准差
stdDev() {
return Math.sqrt(this.variance());
}
// 数组乘法
multiply(num) {
return this.arr.map(val => val*num);
}
}
```
这个类包含了一些常见的数学运算方法,例如求和、平均值、最大值、最小值、排序、方差、标准差等等。另外,还定义了一个`multiply`方法,可以对数组中的每个元素进行乘法操作。
使用示例:
```javascript
const arr = new MathArray([1, 2, 3, 4, 5]);
console.log(arr.sum()); // 输出:15
console.log(arr.average()); // 输出:3
console.log(arr.max()); // 输出:5
console.log(arr.min()); // 输出:1
console.log(arr.sort()); // 输出:[1, 2, 3, 4, 5]
console.log(arr.variance()); // 输出:2
console.log(arr.stdDev()); // 输出:1.4142135623730951
console.log(arr.multiply(2)); // 输出:[2, 4, 6, 8, 10]
```
阅读全文