在JavaScript中,可以通过定义函数来实现代码的封装和复用。下面是泛化3个独立函数的示例:
- 泛化函数1:计算数组的平均值/**
* 计算数组的平均值
* @param {Array} arr - 输入的数组
* @returns {number} - 平均值
*/
function calculateAverage(arr) {
if (!Array.isArray(arr)) {
throw new Error('输入参数必须是一个数组');
}
if (arr.length === 0) {
throw new Error('数组不能为空');
}
const sum = arr.reduce((acc, val) => acc + val, 0);
return sum / arr.length;
}这个函数接受一个数组作为输入,通过遍历数组并累加元素值,然后除以数组长度得到平均值。如果输入参数不是数组或者数组为空,会抛出相应的错误。
- 泛化函数2:判断一个数是否为素数/**
* 判断一个数是否为素数
* @param {number} num - 输入的数
* @returns {boolean} - 是否为素数
*/
function isPrimeNumber(num) {
if (typeof num !== 'number' || isNaN(num) || !isFinite(num)) {
throw new Error('输入参数必须是一个有效的数值');
}
if (num <= 1) {
return false;
}
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) {
return false;
}
}
return true;
}这个函数接受一个数作为输入,通过遍历从2到该数的平方根的所有数,判断是否能整除该数。如果能整除,则该数不是素数;否则,该数是素数。如果输入参数不是有效的数值,会抛出相应的错误。
- 泛化函数3:反转字符串/**
* 反转字符串
* @param {string} str - 输入的字符串
* @returns {string} - 反转后的字符串
*/
function reverseString(str) {
if (typeof str !== 'string') {
throw new Error('输入参数必须是一个字符串');
}
return str.split('').reverse().join('');
}这个函数接受一个字符串作为输入,通过将字符串转换为数组,反转数组元素的顺序,然后再将数组转换回字符串,得到反转后的字符串。如果输入参数不是字符串,会抛出相应的错误。
以上是泛化3个独立函数的示例,它们分别用于计算数组的平均值、判断一个数是否为素数以及反转字符串。在实际开发中,可以根据具体需求和场景来使用这些函数。