Maison > Questions et réponses > le corps du texte
var fruit=[7,10,32,6,9,4];
document.write(fruit+'<br>');
fruit.sort(sortFun);
document.write(fruit);
function sortFun(ar1,ar2){
if(ar1>ar2){
return 1;
}else if(ar1<ar2){
return -1;
}else{
return 0;
}
}
Comment ce code organise-t-il les éléments du tableau ? S'il vous plaît, donnez-moi une explication détaillée. Merci
巴扎黑2017-05-19 10:13:03
Pour vous aider à comprendre, vous pouvez essayer d'appeler directement la méthode de tri :
var fruit=[7,10,32,6,9,4];
fruit.sort();
Le résultat renvoyé est : [10, 32, 4, 6, 7, 9]
[10, 32, 4, 6, 7, 9]
而不是期待中的:[ 4, 6, 7, 9, 10, 32]
为什么会这样呢?
因为这是数组原型链上的sort()方法,即Array.prototype.sort()
Au lieu de l'attendu : [4, 6, 7, 9, 10, 32] code>
Pourquoi cela se produit-il ?
Parce qu'il s'agit de la méthode sort() sur la chaîne de prototypes de tableau, c'est-à-dire Array.prototype.sort()
.
Comment étudier cette méthode sort() en profondeur :
1 Vous pouvez aller sur le document mdn https://developer.mozilla.org...
2 Vous pouvez aller dans "Javascript Advanced Programming", mais en mode avancé. le design n'est pas terminé
世界只因有你2017-05-19 10:13:03
fruit.sort(sortFun);
sort 数组的排序方法;
用法:
var arr=[];
arr.sort(function(a,b){
})
比如从小到大:
var arr=[9,5,6];
arr.sort(function(a,b){
return a-b;
})
fruit.sort(sortFun);中的sortFun就相当于arr.sort(function(a,b){})
中的function(a,b){};
if(ar1>ar2){
return 1;
}else if(ar1<ar2){
return -1;
}else{
return 0;
}就相当于return a-b;
为情所困2017-05-19 10:13:03
Vous aurez peut-être besoin de cet article https://developer.mozilla.org...