fenzhi-utils
Version:
分值前端项目的js函数库
25 lines (23 loc) • 718 B
JavaScript
/**
* 数组求和
* @param {array} arr 求和的数组
* @returns {number}
*/
/**
let arr_1 = [1,2,3,4,5,null,'',undefined,Infinity]
CustomArraySumSignle(arr_1);// 15
let arr_2 = [1, 2, 3, 4, 5, 6];
CustomArraySumSignle(arr_2);// 21
*/
export function CustomArraySumSignle(arr = []) {
if (!arr.length) return 0;
return arr.reduce((pre, item) => {
let curNum = 0;
if ([null, 'null', '', 'undefined', undefined, Infinity].includes(item))
curNum = 0;
else if (typeof item === 'number') curNum = item;
else if (typeof item === 'string') curNum = parseInt(item, 10);
else if (typeof item === 'boolean') curNum = item ? 1 : 0;
return pre + curNum;
}, 0);
}