gpt4 book ai didi

Javascript 排序在推送后不起作用?

转载 作者:数据小太阳 更新时间:2023-10-29 04:58:12 25 4
gpt4 key购买 nike

我在这里做错了什么:在 IE9 和 FF 中结果相同。

function TestArrayOperationsClick()
{
function sortNums(a, b)
{
return a - b;
}
var array = [6, 4, 2, 8];
console.log("Array 1: " + array);
array.sort(sortNums);
console.log("Sort 1: " + array);
array.push([1, 5, 10]);
console.log("Array 2: " + array);
array.sort(sortNums);
console.log("Sort 2: " + array);
}

输出:

LOG: Array 1: 6,4,2,8 

LOG: Sort 1: 2,4,6,8

LOG: Array 2: 2,4,6,8,1,5,10

LOG: Sort 2: 2,4,6,8,1,5,10 <- not sorted.

最佳答案

对于 array.push(...) ,您应该传递单个参数,而不是数组:

array.push(1, 5, 10);

最终输出将是:

Sort 2: 1,2,4,5,6,8,10 

不然你push的结果其实是这样的:

[2,4,6,8,[1,5,10]]

,尽管当您执行 console.log 时它没有清楚显示。

编辑:正如 Jonathan 提到的,如果您要追加一组项目,.concat()是要走的路。

关于Javascript 排序在推送后不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21459774/

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