代码如下
var b = [99,1,2,4,3,5,8,6,7,9,0,34,56,78,98,45,23,45,23.45];
function shuffle(arr){
return arr.sort(function(){
return Math.random() - 0.5;
});
}
var a = shuffle(b);
console.log(a);
var max = a[0];
var min = a[0];
var maxindex = 0;
var minindex = 0;
for (var i = 0; i < a.length; i++) {
if(max<a[i]){
max = a[i];
maxindex = i;
}else if(min>a[i]){
min = a[i]
minindex = i;
}
}
console.log(max==a[maxindex]);
console.log(min==a[minindex]);
这段代码的判断感觉不是太正确,但是说不上来哪里出错了,结果是正确的,每次计算前都会打乱顺序
一般正常逻辑这样写代码:
var b = [99,1,2,4,3,5,8,6,7,9,0,34,56,78,98,45,23,45,23.45];
function shuffle(arr){
return arr.sort(function(){
return Math.random() - 0.5;
});
}
var a = shuffle(b);
console.log(a);
var max = a[0];
var min = a[0];
var maxindex = 0;
var minindex = 0;
for (var i = 0; i < a.length; i++) {
if(max<a[i]){
max = a[i];
maxindex = i;
}
if(min>a[i]){
min = a[i]
minindex = i;
}
}
console.log(max==a[maxindex]);
console.log(min==a[minindex]);
区别分析: