Javascript JS如何在没有比较函数的情况下对对象数组进行排序?

Javascript JS如何在没有比较函数的情况下对对象数组进行排序?,javascript,Javascript,根据标题,JS如何在不使用比较函数的情况下对对象数组进行排序 例如: const书店=[{ id:3, 名称:"书店3",, imgSrc:'https://www.google.com/' }, { id:8, 名称:"书店8",, imgSrc:'https://www.google.com/' }, { id:2, 名称:"书店2",, imgSrc:'https://www.google.com/' }, { id:9, 名称:"书店9",, imgSrc:'https://www.g

根据标题,JS如何在不使用比较函数的情况下对对象数组进行排序

例如:

const书店=[{
id:3,
名称:"书店3",,
imgSrc:'https://www.google.com/'
}, {
id:8,
名称:"书店8",,
imgSrc:'https://www.google.com/'
}, {
id:2,
名称:"书店2",,
imgSrc:'https://www.google.com/'
}, {
id:9,
名称:"书店9",,
imgSrc:'https://www.google.com/'
}, {
id:4,
名称:"书店4",,
imgSrc:'https://www.google.com/'
}, {
id:6,
名称:"书店6",,
imgSrc:'https://www.google.com/'
}, {
id:10,
名称:"书店10",,
imgSrc:'https://www.google.com/'
}, {
id:7,
名称:"书店7",,
imgSrc:'https://www.google.com/'
}];
书店;

console.log(书店)特别感谢@VLAZ&@Hassan Imam为我展示了答案

为了让前来查看此问题的任何人更清楚:

Javascript排序比较函数是字典式的。这意味着如果不传入比较函数:

xxx.sort()
排序将比较数组中每个值的字典值

根据规范:

如果未提供compareFunction,则通过将所有未定义的数组元素转换为字符串并按UTF-16代码单元顺序比较字符串来对其进行排序。例如,“香蕉”在“樱桃”之前。在数字排序中,9位于80之前,但由于数字转换为字符串,所以在Unicode顺序中,“80”位于“9”之前。所有未定义的元素都排序到数组的末尾

为了进一步说明:

const list = [80, 9];
list.sort();
console.log(list); // [80, 9] <= its not [9, 80]
const list=[80,9];
list.sort();
console.log(列表);//[80,9]“输出将是什么?”不可能说,因为它将依赖于实现。很有可能什么都不会改变,但你不能依赖它。默认比较只是按字典顺序进行的。将对象转换为字符串会为每个对象生成
“[object object]”
,因此从技术上讲,它们都是相等的。请阅读这里的排序函数