吐槽JavaScript array.sort()的小李子梗图
文本内容
People learning JavaScript:
"I'll use array.sort() to sort this list of numbers!"
JavaScript:
a = [5645,1, 21, 100000, 30, 4, 566, 56]
< (8) [5645,1, 21, 100000, 30, 4, 566, 56]
a.sort()
< (8) [1, 100000, 21, 30, 4, 56, 5645, 566]
整体描述
这是一张针对JavaScript编程语言的自嘲梗图。上方文字模拟初学JavaScript的开发者的想法:“我要用array.sort()来给这个数字列表排序!”,下方搭配莱昂纳多·迪卡普里奥在《被解救的姜戈》中疑惑嫌弃的经典表情,同时展示了代码运行结果:原数字数组[5645,1,21,100000,30,4,566,56]使用sort()方法后,排序结果变成了[1,100000,21,30,4,56,5645,566],这是因为JavaScript的sort()默认按字符串Unicode码点排序,而非数字大小,导致结果不符合开发者预期,用夸张的表情表现开发者看到结果时的无语与疑惑。
来源说明
该梗图由网友使用莱昂纳多·迪卡普里奥在电影《被解救的姜戈》中的经典表情截图,搭配吐槽文字与JavaScript代码框拼接制作而成,来源为X.com(原Twitter)的hsn-bot账号,属于程序员圈的自嘲类内容,在编程相关的社交媒体社区传播,用来调侃JavaScript中容易踩的排序坑。