1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
---
title: Intl.Collator.prototype.compare
slug: Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare
tags:
- Collator
- Internationalization
- JavaScript
- Property
- Prototype
translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare
---
<div>{{JSRef}}</div>
<p>Die <strong><code>Intl.Collator.prototype.compare</code></strong> Eigenschaft gibt eine Funktion zurück, die zwei Strings, abhängig von der Sortierreihenfolge des {{jsxref("Collator")}} Objektes, vergleicht.</p>
<div>{{EmbedInteractiveExample("pages/js/intl-collator-prototype-compare.html")}}</div>
<h2 id="Syntax">Syntax</h2>
<pre class="syntaxbox"><code><var>collator</var>.compare(<var>string1</var>, <var>string2</var>)</code></pre>
<h3 id="Parameter">Parameter</h3>
<dl>
<dt><code>string1</code></dt>
<dt><code>string2</code></dt>
<dd>Die Strings, die miteinander verglichen werden sollen.</dd>
</dl>
<h2 id="Beschreibung">Beschreibung</h2>
<p>Die Funktion, die von dem Getter <code>compare</code> zurückgegeben wird, gibt eine Zahl zurück, die angibt, wie <code>string1</code> und <code>string2</code> in der Sortierreihenfolge des {{jsxref("Collator")}} Objektes zueinander stehen: Ein negativer Wert gibt an, <code>string1</code> vor <code>string2</code> kommt; Ein positiver Wert gibt an, dass <code>string1</code> nach <code>string2</code> kommt; 0 gibt an, dass beide gleich sind.</p>
<h2 id="Beispiele">Beispiele</h2>
<h3 id="Einsatz_von_compare_zum_Sortieren_von_Arrays">Einsatz von <code>compare</code> zum Sortieren von Arrays</h3>
<p>Man kann die vom Getter <code>compare</code> zurückgegebenen Funktion zum Sortieren von Arrays einsetzen. Zu beachten ist, dass diese Funktion an das collator-Objekte gebunden ist, auf dem es aufgerufen wurde, so dass es direkt an {{jsxref("Array.prototype.sort()")}} übergeben werden kann.</p>
<pre class="brush: js">var a = ['Offenbach', 'Österreich', 'Odenwald'];
var collator = new Intl.Collator('de-u-co-phonebk');
a.sort(collator.compare);
console.log(a.join(', '));
// → "Odenwald, Österreich, Offenbach"
</pre>
<h3 id="Einsatz_von_compare_zum_Suchen_in_Arrays">Einsatz von <code>compare</code> zum Suchen in Arrays</h3>
<p>Man kann die vom Getter <code>compare</code> zurückgegebenen Funktion zum suchen von passenden Elementen in einem Array benutzen:</p>
<pre class="brush: js">var a = ['Congrès', 'congres', 'Assemblée', 'poisson'];
var collator = new Intl.Collator('fr', { usage: 'search', sensitivity: 'base' });
var s = 'congres';
var matches = a.filter(v => collator.compare(v, s) === 0);
console.log(matches.join(', '));
// → "Congrès, congres"
</pre>
<h2 id="Spezifikationen">Spezifikationen</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Spezifikation</th>
<th scope="col">Status</th>
<th scope="col">Kommentar</th>
</tr>
<tr>
<td>{{SpecName('ES Int 1.0', '#sec-10.3.2', 'Intl.Collator.prototype.compare')}}</td>
<td>{{Spec2('ES Int 1.0')}}</td>
<td>Initiale Definition.</td>
</tr>
<tr>
<td>{{SpecName('ES Int 2.0', '#sec-10.3.2', 'Intl.Collator.prototype.compare')}}</td>
<td>{{Spec2('ES Int 2.0')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES Int Draft', '#sec-Intl.Collator.prototype.compare', 'Intl.Collator.prototype.compare')}}</td>
<td>{{Spec2('ES Int Draft')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
<div>
<p>{{Compat("javascript.builtins.Intl.Collator.compare")}}</p>
</div>
<h2 id="Siehe_auch">Siehe auch</h2>
<ul>
<li>{{jsxref("Collator", "Intl.Collator")}}</li>
<li>{{jsxref("String.prototype.localeCompare()")}}</li>
</ul>
|