Thí dụ
Để so sánh các chuỗi theo thứ tự bảng chữ cái, hãy sử dụng localeCompare[]
. Điều này trả về một giá trị âm nếu chuỗi tham chiếu là từ vựng [theo thứ tự bảng chữ cái] trước chuỗi được so sánh [tham số], giá trị dương nếu nó xuất hiện sau đó và giá trị ____10 nếu chúng bằng nhau.
var a = "hello";
var b = "world";
console.log[a.localeCompare[b]]; // -1
Các toán tử
function strcmp[a, b] {
if[a === b] {
return 0;
}
if [a > b] {
return 1;
}
return -1;
}
console.log[strcmp["hello", "world"]]; // -1
console.log[strcmp["hello", "hello"]]; // 0
console.log[strcmp["world", "hello"]]; // 1
1 và function strcmp[a, b] {
if[a === b] {
return 0;
}
if [a > b] {
return 1;
}
return -1;
}
console.log[strcmp["hello", "world"]]; // -1
console.log[strcmp["hello", "hello"]]; // 0
console.log[strcmp["world", "hello"]]; // 1
2 cũng có thể được sử dụng để so sánh các chuỗi từ vựng, nhưng chúng không thể trả về giá trị bằng không [điều này có thể được kiểm tra với toán tử bình đẳng function strcmp[a, b] {
if[a === b] {
return 0;
}
if [a > b] {
return 1;
}
return -1;
}
console.log[strcmp["hello", "world"]]; // -1
console.log[strcmp["hello", "hello"]]; // 0
console.log[strcmp["world", "hello"]]; // 1
3]. Kết quả là, một dạng của hàm localeCompare[]
có thể được viết như vậy:function strcmp[a, b] {
if[a === b] {
return 0;
}
if [a > b] {
return 1;
}
return -1;
}
console.log[strcmp["hello", "world"]]; // -1
console.log[strcmp["hello", "hello"]]; // 0
console.log[strcmp["world", "hello"]]; // 1
Điều này đặc biệt hữu ích khi sử dụng hàm sắp xếp so sánh dựa trên dấu hiệu của giá trị trả về [chẳng hạn như
function strcmp[a, b] {
if[a === b] {
return 0;
}
if [a > b] {
return 1;
}
return -1;
}
console.log[strcmp["hello", "world"]]; // -1
console.log[strcmp["hello", "hello"]]; // 0
console.log[strcmp["world", "hello"]]; // 1
5].var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
Ngày 16 tháng 3 năm 2020
Nó có ý nghĩa gì đối với hai chuỗi bằng nhau, hoặc cho một chuỗi lớn hơn chuỗi kia trong JavaScript?
Triple của JavaScript tương đương với toán tử
function strcmp[a, b] {
if[a === b] {
return 0;
}
if [a > b] {
return 1;
}
return -1;
}
console.log[strcmp["hello", "world"]]; // -1
console.log[strcmp["hello", "hello"]]; // 0
console.log[strcmp["world", "hello"]]; // 1
6 trả về function strcmp[a, b] {
if[a === b] {
return 0;
}
if [a > b] {
return 1;
}
return -1;
}
console.log[strcmp["hello", "world"]]; // -1
console.log[strcmp["hello", "hello"]]; // 0
console.log[strcmp["world", "hello"]]; // 1
7 nếu hai chuỗi chính xác bằng nhau và function strcmp[a, b] {
if[a === b] {
return 0;
}
if [a > b] {
return 1;
}
return -1;
}
console.log[strcmp["hello", "world"]]; // -1
console.log[strcmp["hello", "hello"]]; // 0
console.log[strcmp["world", "hello"]]; // 1
8 nếu không:'hello' === 'hello'; // true
'Hello' === 'hello'; // false
Các nhà khai thác
function strcmp[a, b] {
if[a === b] {
return 0;
}
if [a > b] {
return 1;
}
return -1;
}
console.log[strcmp["hello", "world"]]; // -1
console.log[strcmp["hello", "hello"]]; // 0
console.log[strcmp["world", "hello"]]; // 1
2 và function strcmp[a, b] {
if[a === b] {
return 0;
}
if [a > b] {
return 1;
}
return -1;
}
console.log[strcmp["hello", "world"]]; // -1
console.log[strcmp["hello", "hello"]]; // 0
console.log[strcmp["world", "hello"]]; // 1
1 so sánh các chuỗi theo thứ tự từ vựng. Thứ tự từ vựng về cơ bản có nghĩa là "trật tự từ điển". Nói một cách đơn giản hơn, var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
1 nếu ký tự đầu tiên của var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
2 xuất hiện trước ký tự đầu tiên của var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
3 trong bảng ASCII hoặc nếu các ký tự đầu tiên của var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
2 và var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
3 là bằng nhau và var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
6.'alpha' < 'zeta'; // true, because 'a' comes before 'z'
'alpha' < 'Zeta'; // false, because 'Z' = 90 in ASCII, and 'a' = 97
'one' < '1'; // false, because '1' = 49 in ASCII, and 'o' = 111
'octo' < 'okto'; // true, because 'c' = 99, and 'k' = 107
'a' < 'alpha'; // true, because end of string = '0' in ASCII
Sắp xếp một mảng chuỗi
Hàm
var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
7 của JavaScript tự động sắp xếp theo thứ tự từ vựng.['Zeta', '1', 'alpha', ''].sort[]; // ['', '1', 'Zeta', 'alpha']
Hàm
var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
8 của Lodash cũng tự động sắp xếp theo thứ tự từ vựng, miễn là bạn sắp xếp một loạt các chuỗi._.sortBy[['Zeta', '1', 'alpha', '']]; // ['', '1', 'Zeta', 'alpha']
Điều gì về việc sắp xếp một mảng các đối tượng dựa trên thuộc tính chuỗi? Hàm
var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
7 có tham số gọi lại có 2 giá trị var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
2 và var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
3 và sẽ trả về:
0 nếufunction strcmp[a, b] { if[a === b] { return 0; } if [a > b] { return 1; } return -1; } console.log[strcmp["hello", "world"]]; // -1 console.log[strcmp["hello", "hello"]]; // 0 console.log[strcmp["world", "hello"]]; // 1
2 vàvar arr = ["bananas", "cranberries", "apples"]; arr.sort[function[a, b] { return a.localeCompare[b]; }]; console.log[arr]; // [ "apples", "bananas", "cranberries" ]
3 bằng nhauvar arr = ["bananas", "cranberries", "apples"]; arr.sort[function[a, b] { return a.localeCompare[b]; }]; console.log[arr]; // [ "apples", "bananas", "cranberries" ]
- Một số dương nếu
5'hello' === 'hello'; // true 'Hello' === 'hello'; // false
- Một số âm nếu
1var arr = ["bananas", "cranberries", "apples"]; arr.sort[function[a, b] { return a.localeCompare[b]; }]; console.log[arr]; // [ "apples", "bananas", "cranberries" ]
Đưa ra một mảng các đối tượng có thuộc tính
'hello' === 'hello'; // true
'Hello' === 'hello'; // false
7, bên dưới là một cách để sắp xếp mảng bằng 'hello' === 'hello'; // true
'Hello' === 'hello'; // false
7.const characters = [
{ firstName: 'Jean-Luc', lastName: 'Picard', rank: 'Captain', age: 59 },
{ firstName: 'Will', lastName: 'Riker', rank: 'Commander', age: 29 },
{ firstName: 'Geordi', lastName: 'La Forge', rank: 'Lieutenant', age: 29 }
];
characters.sort[[a, b] => {
if [a === b] {
return 0;
}
return a.lastName < b.lastName ? -1 : 1;
}];
// La Forge, Picard, Riker
characters;
Một giải pháp thay thế ngắn gọn hơn là sử dụng chức năng ____99 tích hợp của JavaScript. Gọi
'alpha' < 'zeta'; // true, because 'a' comes before 'z'
'alpha' < 'Zeta'; // false, because 'Z' = 90 in ASCII, and 'a' = 97
'one' < '1'; // false, because '1' = 49 in ASCII, and 'o' = 111
'octo' < 'okto'; // true, because 'c' = 99, and 'k' = 107
'a' < 'alpha'; // true, because end of string = '0' in ASCII
0 trả về 'alpha' < 'zeta'; // true, because 'a' comes before 'z'
'alpha' < 'Zeta'; // false, because 'Z' = 90 in ASCII, and 'a' = 97
'one' < '1'; // false, because '1' = 49 in ASCII, and 'o' = 111
'octo' < 'okto'; // true, because 'c' = 99, and 'k' = 107
'a' < 'alpha'; // true, because end of string = '0' in ASCII
1 nếu var arr = ["bananas", "cranberries", "apples"];
arr.sort[function[a, b] {
return a.localeCompare[b];
}];
console.log[arr]; // [ "apples", "bananas", "cranberries" ]
1, function strcmp[a, b] {
if[a === b] {
return 0;
}
if [a > b] {
return 1;
}
return -1;
}
console.log[strcmp["hello", "world"]]; // -1
console.log[strcmp["hello", "hello"]]; // 0
console.log[strcmp["world", "hello"]]; // 1
0 nếu 'alpha' < 'zeta'; // true, because 'a' comes before 'z'
'alpha' < 'Zeta'; // false, because 'Z' = 90 in ASCII, and 'a' = 97
'one' < '1'; // false, because '1' = 49 in ASCII, and 'o' = 111
'octo' < 'okto'; // true, because 'c' = 99, and 'k' = 107
'a' < 'alpha'; // true, because end of string = '0' in ASCII
4 và 'alpha' < 'zeta'; // true, because 'a' comes before 'z'
'alpha' < 'Zeta'; // false, because 'Z' = 90 in ASCII, and 'a' = 97
'one' < '1'; // false, because '1' = 49 in ASCII, and 'o' = 111
'octo' < 'okto'; // true, because 'c' = 99, and 'k' = 107
'a' < 'alpha'; // true, because end of string = '0' in ASCII
5 nếu 'hello' === 'hello'; // true
'Hello' === 'hello'; // false
5.const characters = [
{ firstName: 'Jean-Luc', lastName: 'Picard', rank: 'Captain', age: 59 },
{ firstName: 'Will', lastName: 'Riker', rank: 'Commander', age: 29 },
{ firstName: 'Geordi', lastName: 'La Forge', rank: 'Lieutenant', age: 29 }
];
characters.sort[[a, b] => a.lastName.localeCompare[b.lastName]];
// La Forge, Picard, Riker
characters;
Hướng dẫn cơ bản hơn
- Xác thực email bằng Regex trong JavaScript
- Sao chép JavaScript vào Clipboard
- Tính trung bình của một mảng trong JavaScript
- Hàm encodeuricomponent [] trong javascript
- Cách kiểm tra xem một ngày nằm giữa hai ngày trong JavaScript
- Kiểm tra chuỗi cho các số trong JavaScript
- Đổi tên các biến khi sử dụng phá hủy đối tượng trong JavaScript