Heim > Java > javaLernprogramm > Hauptteil

Wie konvertiere und sortiere ich Arrays in Javascript?

青灯夜游
Freigeben: 2018-09-15 16:05:17
Original
1520 Leute haben es durchsucht

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()
Nach dem Login kopieren

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
Nach dem Login kopieren

Fall 2

const numbers = ["A", "B", "C"];
const result = numbers.toString();
console.log(result); //A,B,C
console.log(typeof  result); //string
Nach dem Login kopieren
//利用 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
Nach dem Login kopieren

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.

Wie konvertiere und sortiere ich Arrays in Javascript?

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)
Nach dem Login kopieren

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
Nach dem Login kopieren

Wie ist die Kompatibilität der Methode „sort“? Direkt über dem Bild.

Wie konvertiere und sortiere ich Arrays in Javascript?

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()
Nach dem Login kopieren
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.

Wie konvertiere und sortiere ich Arrays in Javascript?

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]
Nach dem Login kopieren
//案例1
const numbers = [1, 3, 5, 2, 4];
numbers.sort();
console.log(numbers); //[1, 2, 3, 4, 5]
Nach dem Login kopieren

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])
Nach dem Login kopieren

那么我们应该如何利用这个参数去指定我们排序的规则呢?参数函数接受两个参数,然后会根据返回的两个参数的比较值进行排序。

array.sort(compare(a, b){
    return a- b
});
Nach dem Login kopieren

排序的规则如下:

  • 如果 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]
Nach dem Login kopieren

是不是 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]
Nach dem Login kopieren

但是在实际的使用当中我们不仅仅比较的是数字与字符类型,也可以能是比较的是对象,不过没关系我们依旧可以使用对象的属性去进行排序。

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);
Nach dem Login kopieren
//排序之后
//[{name: "二B哥", age: 30},
//{name: "三B哥", age: 28},
//{name: "大B哥", age: 25},
//{name: "我", age: 14}]
Nach dem Login kopieren

可以看到我交的朋友一般都比较偏大,一眼就能看出哪个是最大的,哪个是最小的,不过我相信大家也看出来了,最小的哪个就是我(… 哈哈)。

至于 sort 更多更有趣的方法,小伙伴们不妨自己去寻找尝试吧。

继续来看看「sort」方法的兼容性。

Wie konvertiere und sortiere ich Arrays in Javascript?

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage