UNPKG

wsemi

Version:

A support package for web developer.

49 lines (39 loc) 970 B
import isearr from './isearr.mjs' import isnum from './isnum.mjs' import arrProduct from './arrProduct.mjs' /** * 陣列Norm值,代表由各元素平方值相加開根號 * * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/arrNorm.test.mjs Github} * @memberOf wsemi * @param {Array} vec 輸入要被累加計算的陣列 * @returns {Array} 回傳各元素累加後之陣列 * @example * * console.log(arrNorm([1, 2, 3, 4])) * // => 5.477225575051661 * * console.log(arrNorm([0.1, 0.1, 0.1, 0.1])) * // => 0.2 * * console.log(arrNorm([11, 22, 33, 44])) * // => 60.249481325568276 * */ function arrNorm(vec) { //check if (!isearr(vec)) { return null } //arrProduct let r = arrProduct(vec, vec) //check if (!isnum(r)) { return null } if (r <= 0) { return null } return Math.sqrt(r) } export default arrNorm