Méthode de réorganisation native du tableau javascript
(1) Fonction
Position inversée des éléments du tableau (changer le tableau d'origine)
(2) Syntaxe
arr.reverse() //没有参数
(3) Exemple
let myArray = [ 'one', 'two', 'three' ]; myArray.reverse(); console.log(myArray); // ["three", "two", "one"]
(4) Valeur de retour
Une référence au tableau d'origine ne générera pas de nouveau tableau
let myArray = [ 'one', 'two', 'three' ]; let result = myArray.reverse(); result[2] = 2; console.log(myArray); //["three", "two", 2] console.log(result); //["three", "two", 2]
(5) Inconvénients
Pas très flexible, le tableau ne peut qu'être inversé
(1) La fonction
sort() triera les éléments du tableau à la position appropriée (le tableau d'origine changera)
(2) Syntaxe
arr.sort(); arr.sort(compareFunction);
(3)
est facultatif. Utilisé pour formuler une fonction qui trie dans un certain ordre.
Si les paramètres sont omis, par exemple, appelez-le ainsi.
arr.sort() //没有添加参数
La fonction sort() appliquera les paramètres suivants, donc la comparaison par défaut est le code Unicode
//关于sort 的可选参数 //如果没有设置参数,v8 中会自动生成一个参数 if (!IS_CALLABLE(comparefn)) { //这是默认的参数值 comparefn = function (x, y) { if (x === y) return 0; if (%_IsSmi(x) && %_IsSmi(y)) { return %SmiLexicographicCompare(x, y); } //在这里 会把参数全都转换为 Unicode 在进行比较 x = TO_STRING(x); y = TO_STRING(y); if (x == y) return 0; else return x < y ? -1 : 1; }; }
(4) Principe
1. Définissez d'abord les paramètres et saisissez-les vous-même Ou utilisez la valeur par défaut
2. Si le nombre d'éléments est inférieur à 2, renvoyez directement
3. Déterminez si l'objet actuel est un tableau Si l'objet est un tableau. pas un tableau, la valeur sur la chaîne prototype sera Copier dans le tableau actuel et trier
var arry = [1,2,3,4,2,5]; var a = {}; a.proto = arry; a.sort() // Array {0: 1, 1: 2, 2: 2, 3: 3, 4: 4, 5: 4}
4. Trier toutes les valeurs non définies dans le tableau à la fin,
5 . Triez toutes les valeurs du tableau qui ne sont pas indéfinies
6. Lorsque le nombre d'éléments dans le tableau est inférieur ou égal à 10, utilisez InsertionSort pour trier
//comparefn 是sort 的参数 //参数可以自己传入 ,或者使用v8 默认的值 function InsertionSort(a, from, to) { for (var i = from + 1; i < to; i++) { var element = a[i]; for (var j = i - 1; j >= from; j--) { var tmp = a[j]; var order = comparefn(tmp, element); if (order > 0) { a[j + 1] = tmp; } else { break; } } a[j + 1] = element; } };
. 7. Lorsque le nombre d'éléments dans le tableau est supérieur à 10, utilisez le tri rapide
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!