Python和JavaScript在字符串比较上的差异

Python和JavaScript在字符串比较上的差异

目录

推荐超级课程:

PythonJavaScript中,根据字符串末尾的字符进行排序时,Python中只需将字符串传递给sorted函数的key参数即可,而在JavaScriptsort方法中,如果不进行特殊处理,默认只能进行数值比较而不是字符串比较,因此需要稍作技巧。

Python

python 复制代码
def sort_by_last_char(arr):
    return sorted(arr, key=lambda x: x[-1])
arr = ['apple', 'banana', 'cherry', 'date']
sorted_arr = sort_by_last_char(arr)
print(sorted_arr)

!

  • sorted函数会根据指定的键(key)对数组进行排序。
  • 这里使用key=lambda x: x[-1],即以每个字符串的最后一个字符为基准进行排序。

JavaScript

使用localeCompare的方法

javascript 复制代码
const sortByLastCharLocaleCompare = arr => arr.sort((a, b) => a.charAt(a.length - 1).localeCompare(b.charAt(b.length - 1))); //也可以使用slice方法
const arr1 = ['apple', 'banana', 'cherry', 'date'];
const sortedArr1 = sortByLastCharLocaleCompare(arr1);
console.log(sortedArr1);

!

  • sort方法会根据指定的比较函数对数组进行排序。
  • localeCompare会根据本地设置比较字符串,并据此进行排序。

使用charCodeAt的方法

javascript 复制代码
const sortByLastCharCharCodeAt = arr => arr.sort((a, b) => a.charCodeAt(a.length - 1) - b.charCodeAt(b.length - 1));
const arr2 = ['apple', 'banana', 'cherry', 'date'];
const sortedArr2 = sortByLastCharCharCodeAt(arr2);
console.log(sortedArr2);

!

  • charCodeAt方法返回指定位置字符的Unicode编码。
  • sort方法内部,根据字符的Unicode值进行排序。
相关推荐
一杯咖啡Miracle2 分钟前
UV管理python环境,打包项目为docker流程
python·算法·docker·容器·uv
Blossom.1185 分钟前
边缘智能新篇章:YOLOv8在树莓派5上的INT8量化部署全攻略
人工智能·python·深度学习·学习·yolo·react.js·transformer
郝学胜-神的一滴5 分钟前
Linux多线程编程:深入解析pthread_detach函数
linux·服务器·开发语言·c++·程序人生
2501_930707786 分钟前
使用C#代码重新排列 PDF 页面
开发语言·pdf·c#
海盗猫鸥9 分钟前
「C++」多态
开发语言·c++
2501_944452239 分钟前
应用设置 Cordova 与 OpenHarmony 混合开发实战
python
灰太狼爱红太狼12 分钟前
2025睿抗机器人大赛智能侦查赛道省赛全流程
人工智能·python·目标检测·ubuntu·机器人
黎雁·泠崖12 分钟前
C 语言预处理核心(上):预定义符号 + #define 常量与宏全解析
c语言·开发语言
一入程序无退路13 分钟前
vue中序号不能按排序显示
javascript·vue.js·elementui
heartbeat..13 分钟前
Java IO 流完整解析:原理、分类、使用规范与最佳实践
java·开发语言·io·文件