Hướng dẫn compare two strings lexicographically javascript - so sánh hai chuỗi từ điển javascript

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ề:

  • 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
    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 bằng nhau
  • Một số dương nếu
    'hello' === 'hello'; // true
    'Hello' === 'hello'; // false
    5
  • Một số âm nếu
    var arr = ["bananas", "cranberries", "apples"];
    arr.sort[function[a, b] {
        return a.localeCompare[b];
    }];
    console.log[arr]; // [ "apples", "bananas", "cranberries" ]
    
    1

Đư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

Làm thế nào để bạn so sánh hai chuỗi theo thứ tự từ vựng?

Phương pháp so sánh [] được sử dụng để so sánh hai chuỗi từ vựng trong Java ...
Nếu [String1> String2], nó trả về một giá trị dương ..
Nếu cả hai chuỗi đều bằng từ vựng bằng nhau, tức là [String1 == String2], nó sẽ trả về 0 ..
if [String1 b ..
Một số âm nếu a

Chủ Đề