gpt4 book ai didi

javascript - 有人可以解释这些 JS 函数之间的区别,一个有回调,另一个没有回调

转载 作者:行者123 更新时间:2023-11-30 09:39:33 24 4
gpt4 key购买 nike

要对数组进行排序,我们可以这样做:

1.

var values = [0,3,2,5,7,4,8];
console.log(values.sort());

2.

var values = [0,3,2,5,7,4,8];
values.sort(function(v1,v2){
return v1-v2;
});
console.log(values);

两者都提供相同的输出,但哪个更快或更好?

最佳答案

除非数组中的所有数字都具有相同的位数,否则它们是不等价的。 sort() 的默认比较函数将数组元素作为字符串而不是数字进行比较,并且字符串"10" 小于"2"。如果将 2 位数字添加到数组中,您可以看到差异。

var values = [0,3,2,5,7,4,8, 10];
console.log(JSON.stringify(values.sort()));
console.log(JSON.stringify(values.sort(function(v1,v2){
return v1-v2;
})));

比较它们的性能似乎毫无意义,因为它们做的事情不同,而且第一种形式很可能就是错误的。

关于javascript - 有人可以解释这些 JS 函数之间的区别,一个有回调,另一个没有回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41881807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com