首页 > 试题广场 >

请问以下 JS 代码最终输出的结果是() const arr

[单选题]
请问以下 JS 代码最终输出的结果是()
const arr1 = [1, 15, 3];
const arr2 = new Uint16Array([1, 15, 3]);
console.log(arr1.sort());
console.log(arr2.sort());
  • [1, 15, 3]、报错
  • [1, 15, 3]、[1, 15, 3]
  • [1, 15, 3]、[1,3, 15]
  • [1, 3, 15]、[1, 3, 15]
- 若想让普通数组按数值排序,需传入比较函数: arr1.sort((a, b) => a - b) 。 ​ - 类型化数组的  sort()  不会改变元素类型,始终保持为对应数值类型。
发表于 2026-03-21 11:09:05 回复(0)
Array的sort默认将元素转为字符串并按照Unicode码点升序排序,字符串比较是先按相同位置比较,如“15”和“3”,会先比较第一位字符,相同,由于“3”的码点比“1”大,比较结束。而Uint16Array的sort默认按数值升序排序
发表于 2025-11-04 10:58:26 回复(0)