编写一个函数,在javascript中查找数组的最大值/最小值
[不使用MIN/MATH函数] 问题要求我创建包含2个参数的函数。第一个参数是数组,第二个参数是字符串“编写一个函数,在javascript中查找数组的最大值/最小值,javascript,function,max,Javascript,Function,Max,[不使用MIN/MATH函数] 问题要求我创建包含2个参数的函数。第一个参数是数组,第二个参数是字符串“最小值”或“最大值”。当我不知道如何将参数作为字符串输入函数时,我会感到困惑。因此,我决定创建两个类似的函数,分别为extremeValue(vector,max)和extremeValue(vector,minimum)(我仍然不知道是否可以这样做)。 这是我的极值(向量,最大值)代码 因此,我的方法是创建一个数组,它的值与vector[i]的值相同,我使用if语句来查看它是否大于该向量。但
最小值
”或“最大值
”。当我不知道如何将参数作为字符串输入函数时,我会感到困惑。因此,我决定创建两个类似的函数,分别为extremeValue(vector,max)
和extremeValue(vector,minimum)
(我仍然不知道是否可以这样做)。
这是我的极值(向量,最大值)
代码
因此,我的方法是创建一个数组,它的值与vector[i]
的值相同,我使用if语句来查看它是否大于该向量。但是,代码是无效的:(
var向量=[3,1,1]
var最大值
//------------这个函数为我们提供了一个具有相同值的向量---------------//
函数集(值,len){
var-arr=[];
对于(变量i=0;i向量)
答案+=向量[计数]+“为最大值”
}
回覆
}
//---------------------------------------------------//
console.log(极值(向量,最大值))
您可以使用数学
函数。将返回传递的数字中的最小数字。您不能直接在数组上调用这些函数,因此,您可以使用应用
调用这些函数,并将数组
作为参数传递给函数
Math.min()
函数返回零个或多个数字中的最小值
Math.max
如下所示:
//数组:源数组
//键入“max”或“min”以查找最大或最小数量
var getNum=函数(数组,类型){
返回数学[type]。应用(null,数组);
};
var-arr=[1,3,35,12];
document.write('Max:'+getNum(arr,'Max'));
document.write('
Min:'+getNum(arr,'Min'));
您可以这样做:
function extremeValue(my_arr, min_max) {
var retval, i, len;
for(i=0,len=my_arr.length; i < len; i++) {
if (min_max == 'minimum') {
retval = (my_arr[i] < retval ? my_arr[i] : retval);
} else {
retval = (my_arr[i] > retval ? my_arr[i] : retval);
}
}
return retval;
}
console.log(extremeValue(vector, 'maximum'));
console.log(extremeValue(vector, 'minimum'));
不使用
Math
或任何其他javascript函数,您可以找到数组的max
和min
值,如下所示
var-arr=[2,3,5,10,2,-9,3];
警报(“最大值为”+arrayMaxMin(arr,“Max”));
警报(“最小值为”+arrayMaxMin(arr,“Min”));
函数arrayMaxMin(数组,选择器){
var val=array[0];//用于保存当前最大/最小值的变量。
对于(变量i=1;ival){
val=数组[i];
}
}
}
返回val;
}
这应该也行!希望对兄弟有帮助
var arr = [2 ,4 ,56, 23, 10];
var max = arr.reduce(function(x,y){
return (x > y) ? x : y;
});
var min = arr.reduce(function(x,y){
return (x < y) ? x : y;
});
console.log('Max: '+ max);
console.log('Min: '+ min);
var-arr=[2,4,56,23,10];
var max=arr.reduce(函数(x,y){
返回(x>y)?x:y;
});
var最小值=arr.reduce(函数(x,y){
返回(x
没有内置的数学最小值/最大值方法:
让minMaxValues=(arr)=>{
让最大值;
让我们分享价值观;
for(设i=0;iarr[arr.length-1]){
最大值=arr[i];
}
}
console.log(最小值);
console.log(最大值);
}
minMaxValues([100,20,30,10,50]);
Hi.他们不允许我们使用min-max函数:(Hi.他们不允许我们使用min-max函数:(我没有使用Math.min()
或Math.max()
。Hi.他们不允许我们使用min-max函数:(@TimNguyen我已经更新了答案,使其在不使用Math
函数的情况下工作:)arrayMaxMin([10,1,12],“Min”)
将不起作用。您的示例之所以有效,是因为其中包含负数。1
将返回false。您可以将答案更改为var-val=array[0]
和(var i=1;i
也val=arr[i];
应该是toval=array[i]
MAX不是一个常数,所以需要使用MAX作为命名约定?
var arr = [2 ,4 ,56, 23, 10];
var max = arr.reduce(function(x,y){
return (x > y) ? x : y;
});
var min = arr.reduce(function(x,y){
return (x < y) ? x : y;
});
console.log('Max: '+ max);
console.log('Min: '+ min);