比较 JavaScript 中的字符串

发布于 2022-09-03 09:59:42 字数 3317 浏览 144 评论 0

在 JavaScript 中,两个字符串相等或一个字符串大于另一个字符串是什么意思?JavaScript 的 三等号运算符 === 返回 true 如果两个字符串完全相等,并且 false 否则:

'hello' === 'hello'; // true
'Hello' === 'hello'; // false

<> 比较字符串 字典顺序 。 字典顺序本质上是指 字典顺序。
简单来说, a < b 如果第一个字符 a 出现在第一个字符之前 bASCII 表中 ,或者如果 ab 相等并且 a.slice(1) < b.slice(1)

'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

数组进行排序 字符串

JavaScript 的 Array#sort() 函数 自动按字典顺序排序。

['Zeta', '1', 'alpha', ''].sort(); // ['', '1', 'Zeta', 'alpha']

Lodash 的 sortBy()函数 只要您对字符串数组进行排序,

_.sortBy(['Zeta', '1', 'alpha', '']); // ['', '1', 'Zeta', 'alpha']

怎么样 对对象数组进行排序 基于字符串属性 这 Array#sort() 函数接受一个 回调 参数,该参数接受 2 个值 ab,并且应该返回:

  • 0 如果 ab相等
  • 如果是正数 a > b
  • 如果是负数 a < b

给定一个对象数组 lastName 属性,下面是对数组进行排序的一种方法 lastName

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;

更简洁的替代方法是使用 JavaScript 的内置 localeCompare() 功能 。 打电话 a.localeCompare(b) 返回 -1 如果 a < b0 如果 a === b, 和 1 如果 a > b

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;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

叫嚣ゝ

暂无简介

0 文章
0 评论
24 人气
更多

推荐作者

lorenzathorton8

文章 0 评论 0

Zero

文章 0 评论 0

萧瑟寒风

文章 0 评论 0

mylayout

文章 0 评论 0

tkewei

文章 0 评论 0

17818769742

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文