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

Làm thế nào để bạn sắp xếp từ vựng trong javascript?

Hàm mảng#sort () của JavaScript tự động theo thứ tự từ vựng ...
0 nếu a và b bằng nhau ..
Một số dương nếu a> b ..
Một số âm nếu a

Bạn có thể so sánh hai chuỗi trong JavaScript không?

Tổng quan.Hai chuỗi trong JavaScript có thể được so sánh để kiểm tra xem chúng có giống nhau hay không sử dụng các phương thức khác nhau như TOUPPERCase (), localecompare (), v.v. Chúng ta cũng có thể so sánh hai chuỗi trong JavaScript bằng Regex.Các nhà khai thác như lớn hơn, hoặc ít hơn hoặc các toán tử bình đẳng để so sánh hai chuỗi.Two strings in Javascript can be compared to check whether they are the same or not using different methods like toUpperCase(), localeCompare(), etc. We can also compare two strings in javascript using RegEx. Operators like greater than, or less than or equality operators to compare two strings.

Nó có nghĩa là gì khi so sánh các chuỗi từ vựng?

Hai chuỗi bằng từ vựng nếu chúng có cùng chiều dài và chứa cùng một ký tự trong cùng một vị trí.if they are the same length and contain the same characters in the same positions.