我怎样才能轻松地获得一个JavaScript数组的最小或最大元素?
伪代码示例:
let array = [100, 0, 50]
array.min() //=> 0
array.max() //=> 100
我怎样才能轻松地获得一个JavaScript数组的最小或最大元素?
伪代码示例:
let array = [100, 0, 50]
array.min() //=> 0
array.max() //=> 100
当前回答
你可以使用数组。排序,但你必须写一个简单的数字排序函数,因为默认是字母排序。
看例2。
然后你可以得到arr[0]和arr[arr。长度-1]来得到最小值和最大值。
其他回答
插入以逗号分隔的数字,然后单击要调用的事件,即获取最大或最小数字。
function maximumNumber() { var numberValue = document.myForm.number.value.split(","); var numberArray = []; for (var i = 0, len = numberValue.length; i < len; i += 1) { numberArray.push(+numberValue[i]); var largestNumber = numberArray.reduce(function (x, y) { return (x > y) ? x : y; }); } document.getElementById("numberOutput").value = largestNumber; } function minimumNumber() { var numberValue = document.myForm.number.value.split(","); var numberArray = []; for (var i = 0, len = numberValue.length; i < len; i += 1) { numberArray.push(+numberValue[i]); var smallestNumber = numberArray.reduce(function (x, y) { return (x < y) ? x : y; }); } document.getElementById("numberOutput").value = smallestNumber; } function restrictCharacters(evt) { evt = (evt) ? evt : window.event; var charCode = (evt.which) ? evt.which : evt.keyCode; if (((charCode >= '48') && (charCode <= '57')) || (charCode == '44')) { return true; } else { return false; } } <div> <form name="myForm"> <table> <tr> <td>Insert Number</td> <td><input type="text" name="number" id="number" onkeypress="return restrictCharacters(event);" /></td> <td><input type="button" value="Maximum" onclick="maximumNumber();" /></td> <td><input type="button" value="Minimum" onclick="minimumNumber();"/></td> <td><input type="text" id="numberOutput" name="numberOutput" /></td> </tr> </table> </form> </div>
另一个解决方案
let arr = [1,10,25,15,31,5,7,101];
let sortedArr = arr.sort((a, b) => a - b)
let min = sortedArr[0];
let max = sortedArr[arr.length-1]
console.log(`min => ${min}. Max => ${max}`)
你可以使用数组。排序,但你必须写一个简单的数字排序函数,因为默认是字母排序。
看例2。
然后你可以得到arr[0]和arr[arr。长度-1]来得到最小值和最大值。
array.sort((a, b) => b - a)[0];
给出数字数组中的最大值。
array.sort((a, b) => a - b)[0];
给出一组数字中的最小值。
Let array = [0,20,45,85,41,5,7,85,90,111]; 令maximum = array。排序((a, b) => b - a)[0]; 令minimum = array。排序((a, b) => a - b)[0]; console.log(最小值,最大值)
您可以使用lodash的方法
_.max([4, 2, 8, 6]);
returns => 8
https://lodash.com/docs/4.17.15#max
_.min([4, 2, 8, 6]);
returns => 2
https://lodash.com/docs/4.17.15#min