Kunoichi Asked:2020-02-22 23:07:59 +0000 UTC2020-02-22 23:07:59 +0000 UTC 2020-02-22 23:07:59 +0000 UTC microsoft edge 中的 array.sort() 772 有以下代码: var mas = [1,2,3,4,5]; mas = mas.sort(function(){ return Math.random() > 0.5; }) console.log(mas); 在 chrome 中,代码生成一个随机打乱的数组: 在 microsoft edge 中,数组不会改变: 如何让 microsoft edge 像在 chrome 中一样与 js 一起工作?好吧,或者至少是这段代码。 javascript 2 个回答 Voted Igor Ognichenko 2020-02-23T03:38:27Z2020-02-23T03:38:27Z 一般来说,内部排序返回可以是负数(<0)、正数(>0)和0 sort(function(a, b){ // если < 0 а идет первым // если > 0 b идет первым // 0 нечего не делаем }) 我想提请您注意您的示例返回布尔值,这不在文档中 而在 chrome 中它只起作用,因为 sort 将 boolean 转换为 int 并且结果是 true == 1,false == 0。 但是驴不明白这一点,因此不起作用。 如果任务是对数组进行洗牌,@Igor 的答案更正确 Best Answer user176262 2020-02-23T00:28:15Z2020-02-23T00:28:15Z var mas = [1, 2, 3, 4, 5]; mas = mas.sort(function() { return Math.random() - 0.5; }) console.log(mas);
一般来说,内部排序返回可以是负数(<0)、正数(>0)和0
我想提请您注意您的示例返回布尔值,这不在文档中
而在 chrome 中它只起作用,因为 sort 将 boolean 转换为 int 并且结果是 true == 1,false == 0。
但是驴不明白这一点,因此不起作用。
如果任务是对数组进行洗牌,@Igor 的答案更正确