emath
Version:
This is a module for math.
195 lines (176 loc) • 5.27 kB
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] < 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 < numbers.length ; i++){
for (var j = 0 ; j < (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 < numbers.length ; i++){
for (var j = 0 ; j < (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 < numbers.length ; i++){
for (var j = 0 ; j < (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;
}
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>