In diesem Kapitel erfahren Sie, wie Sie Arrays in Javascript konvertieren und sortieren, damit Sie die Methoden der Array-Konvertierung und -Sortierung in Javascript verstehen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.
Array-Konvertierung
In unserem Projektentwicklungsprozess spielt die Konvertierung zwischen Datentypen und die Array-Konvertierung in andere Datentypen eine sehr wichtige Rolle eine gemeinsame Sache für uns.
toString
Diese Methode wandelt das Array in einen String um. Jedes Element des Arrays ruft die Methode „toString“ auf und gibt eine neue zurück Zeichenfolge. Die Zeichenfolge wird in Form einer Zeichenfolge jedes Elements im Array verkettet und die Elemente werden durch Kommas getrennt.
Ich verstehe die Definition nicht. Schauen wir uns ein Beispiel an und wir werden es sofort verstehen!
//语法 array.toString()
Fall 1
const numbers = [1, 2, 3, 4, 5]; const result = numbers.toString(); console.log(result); //1,2,3,4,5 console.log(typeof result); //string
Fall 2
const numbers = ["A", "B", "C"]; const result = numbers.toString(); console.log(result); //A,B,C console.log(typeof result); //string
//利用 reduce 方法模拟 toString 的执行过程 const numbers = [1, 2, 3, 4, 5]; const result = numbers.reduce((prev, current) => { return prev.toString() + "," + current.toString(); }); console.log(result); //1,2,3,4,5
Bei diesem Anblick fragen sich manche vielleicht, ob sie nur durch Kommas getrennt werden können? Ist es möglich, wenn ich sie mit anderen Charakteren trenne? Ich kann Ihnen sagen, dass die Methode „toString“ definitiv nicht funktionieren wird, aber wir können andere Methoden verwenden.
Wie üblich werden wir am Ende jeder Methode noch auf die Kompatibilität achten.
join
Diese Methode wandelt auch ein Array in einen String um und gibt eine neue Zeichenfolge zurück. Die
-Methode wandelt jedes Element des Arrays in einen String um und verwendet dann die angegebenen Zeichen, um es zu einem neuen String zu verketten und an uns zurückzugeben.
Diese Methode akzeptiert einen Parameter: das von uns angegebene Trennzeichen.
//语法 array.join(separator)
Obwohl die Syntax relativ einfach erscheint, müssen wir auf einige Dinge achten
Parameter sind optional, der Standardwert ist Komma (,)
Parameter Es kann sich um eine leere Zeichenfolge ("") handeln. In diesem Fall wird eine Zeichenfolge ohne Zeichentrennzeichen zurückgegeben.
Wenn die Elemente des Arrays undefiniert oder null sind, wird dies der Fall sein in eine leere Zeichenfolge umgewandelt werden ("")
Die Parameter können Leerzeichen sein und die Elemente werden durch Leerzeichen getrennt
const numbers = [1, 2, 3, 4, 5]; const result1 = numbers.join(); console.log(result1);//1,2,3,4,5 const result2 = numbers.join(""); console.log(result2);//12345 const result3 = numbers.join(" "); console.log(result3);//1 2 3 4 5 const result4 = numbers.join("-"); console.log(result4);//1-2-3-4-5 const result5 = numbers.join("A"); console.log(result5);//1A2A3A4A5
Wie ist die Kompatibilität der Methode „sort“? Direkt über dem Bild.
Array-Sortierung
Es gibt viele Szenarien für die Array-Sortierung, beispielsweise die aufsteigende Reihenfolge der Tabellensortierung Wird in absteigender Reihenfolge verwendet, um Daten von groß nach klein anzuordnen oder nach bestimmten Regeln anzuordnen. Um Datensortiermethoden effektiv zu verwenden, müssen Sie zunächst über ein gewisses Verständnis dieser Methoden verfügen, bevor Sie geeignetere Methoden verwenden können.
umkehren
Wir sollten in der Lage sein, die Funktion dieser Methode anhand des Namens zu erraten, nämlich die Umkehrung der Reihenfolge der Elemente in das Array.
//语法 array.reverse()rrree
Die Methode ist relativ einfach und hat nichts zu erklären, aber es gibt relativ wenige Anwendungsszenarien. In tatsächlichen Projekten haben wir keine so einfachen Datenstrukturen und einfachen Sortierregeln coole und flexible Sortiermethode.
Kompatibilität der „umgekehrten“ Methode.
sortieren
Diese Methode sortiert die Elemente des Arrays standardmäßig in aufsteigender Reihenfolge. Schauen wir uns zunächst zwei Beispiele an
//案例 const numbers = [1, 2, 3, 4, 5]; numbers.reverse(); console.log(numbers); //[5, 4, 3, 2, 1]
//案例1 const numbers = [1, 3, 5, 2, 4]; numbers.sort(); console.log(numbers); //[1, 2, 3, 4, 5]
Sie werden feststellen, dass die Sortierregeln nicht unseren Vorstellungen entsprechen. Was ist los?
Tatsächlich führt jedes Element des Arrays bei Ausführung der Methode „sort“ zunächst einmal die Methode toString() aus und sortiert dann entsprechend der Unicode-Codierung der Zeichenfolge.
Was können wir also tun, um nach unseren eigenen Wünschen oder Regeln zu sortieren?
其实「sort」方法还接受一个可选的参数:该参数是一个函数,它可以用来指定我们数组排序的规则。
//语法 array.sort([callback])
那么我们应该如何利用这个参数去指定我们排序的规则呢?参数函数接受两个参数,然后会根据返回的两个参数的比较值进行排序。
array.sort(compare(a, b){ return a- b });
排序的规则如下:
如果 a - b 小于 0 ,那么 a 在 b 的前面,也就是会按照升序排列
如果 a - b 等于 0 ,那么 a 和 b 的位置相对不变
如果 a - b 大于 0 ,那么 b 在 a 的前面,也就是会按照降序排列。
例如我们想把上面的案例2中的数组按照数字的大小进行排列,我们只需要加入上面我们说的比较函数
const numbers2 = [1, 15, 20, 2, 3]; numbers2.sort(function(a ,b){ return a- b; }); console.log(numbers2);//[1, 2, 3, 15, 20]
是不是 so easy!如果我们想要进行降序排列也很简单,调换一个我们的计算方法就行。
const numbers2 = [1, 15, 20, 2, 3]; numbers2.sort(function(a ,b){ return b - a; }); console.log(numbers2);//[20, 15, 3, 2, 1]
但是在实际的使用当中我们不仅仅比较的是数字与字符类型,也可以能是比较的是对象,不过没关系我们依旧可以使用对象的属性去进行排序。
const friends = [{ name: "大B哥", age: 25 }, { name: "二B哥", age: 30 }, { name: "三B哥", age: 28 }, { name: "我", age: 14 }]; friends.sort(function(a, b){ return b.age - a.age; }); console.log(friends);
//排序之后 //[{name: "二B哥", age: 30}, //{name: "三B哥", age: 28}, //{name: "大B哥", age: 25}, //{name: "我", age: 14}]
可以看到我交的朋友一般都比较偏大,一眼就能看出哪个是最大的,哪个是最小的,不过我相信大家也看出来了,最小的哪个就是我(… 哈哈)。
至于 sort 更多更有趣的方法,小伙伴们不妨自己去寻找尝试吧。
继续来看看「sort」方法的兼容性。
Das obige ist der detaillierte Inhalt vonWie konvertiere und sortiere ich Arrays in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!