UNPKG

emath

Version:
195 lines (176 loc) 5.27 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Source: compare.js</title> <script src="scripts/prettify/prettify.js"> </script> <script src="scripts/prettify/lang-css.js"> </script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <div id="main"> <h1 class="page-title">Source: compare.js</h1> <section> <article> <pre class="prettyprint source linenums"><code>/** * @method * @file compare.js * @desc For compare max and min. * @createDate 2018.7.11. * @author yhzheng */ "use strict"; /** * @method * @param {array} numbers A array * @returns The max number of numbers * @desc To get the max number of numbers */ function max(numbers) { var maxNum,number; if (typeof numbers[0] === "number"){ maxNum = numbers[0]; number = numbers[0]; } else { maxNum = numbers[0].value(); number = numbers[0]; } for (var i in numbers) { if (typeof numbers[i] === "number") { if (numbers[i] > maxNum) { maxNum = numbers[i]; number = numbers[i]; } } else { if (numbers[i] > maxNum) { maxNum = numbers[i].value(); number = numbers[i]; } } } return number; } /** * @method * @param {array} numbers A array * @returns The min number of numbers * @desc To get the min number of numbers */ function min(numbers) { var minNum,number; if (typeof numbers[0] === "number"){ minNum = numbers[0]; number = numbers[0]; } else { minNum = numbers[0].value(); number = numbers[0]; } for (var i in numbers){ if (numbers[i] &lt; minNum){ if (typeof numbers[i] === "number"){ minNum = numbers[i]; } else { minNum = numbers[i].value(); } number = numbers[i]; } } return number; } /** * @method * @param {array} numbers A array * @param {function} cmp A function * @returns The sorted number of numbers (cmp) * @desc To sort the numbers (cmp) */ function sort(numbers,cmp) { var tmp; for (var i = 0 ; i &lt; numbers.length ; i++){ for (var j = 0 ; j &lt; (numbers.length - 1) ; j++){ if (cmp(numbers[j],numbers[j + 1])){ tmp = numbers[j]; numbers[j] = numbers[j + 1]; numbers[j + 1] = tmp; } } } return numbers; } /** * @method * @param {array} numbers A array * @returns The sorted number of numbers (From max to min) * @desc To sort the numbers (From max to min) */ function sort_min(numbers) { var tmp; for (var i = 0 ; i &lt; numbers.length ; i++){ for (var j = 0 ; j &lt; (numbers.length - 1) ; j++){ if (typeof numbers[j] === "number"){ if (numbers[j] > numbers[j + 1]){ tmp = numbers[j]; numbers[j] = numbers[j + 1]; numbers[j + 1] = tmp; } } else { if (numbers[j].value() > numbers[j + 1].value()){ tmp = numbers[j]; numbers[j] = numbers[j + 1]; numbers[j + 1] = tmp; } } } } return numbers; } /** * @method * @param {array} numbers A array * @returns The sorted number of numbers (From max to min) * @desc To sort the numbers (From max to min) */ function sort_max(numbers) { var tmp; for (var i = 0 ; i &lt; numbers.length ; i++){ for (var j = 0 ; j &lt; (numbers.length - 1) ; j++){ if (typeof numbers[j] === "number"){ if (numbers[j] &lt; numbers[j + 1]){ tmp = numbers[j]; numbers[j] = numbers[j + 1]; numbers[j + 1] = tmp; } } else { if (numbers[j].value() &lt; numbers[j + 1].value()){ tmp = numbers[j]; numbers[j] = numbers[j + 1]; numbers[j + 1] = tmp; } } } } return numbers; } module.exports.max = max; module.exports.min = min; module.exports.sort_min = sort_min; module.exports.sort_max = sort_max; module.exports.sort = sort;</code></pre> </article> </section> </div> <nav> <h2><a href="index.html">Home</a></h2><h3>Global</h3><ul><li><a href="global.html#max">max</a></li><li><a href="global.html#min">min</a></li><li><a href="global.html#sort">sort</a></li><li><a href="global.html#sort_max">sort_max</a></li><li><a href="global.html#sort_min">sort_min</a></li></ul> </nav> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Aug 13 2018 15:55:36 GMT+0800 (CST) </footer> <script> prettyPrint(); </script> <script src="scripts/linenumber.js"> </script> </body> </html>