题解 | #数组反转#

数组反转

https://www.nowcoder.com/practice/b90366dd459148d197774c3586c9eac0

1、reverse()

定义和用法

reverse() 方法反转数组中元素的顺序。

注释:reverse() 方法将改变原始数组。

function _reverse(array) {
    // 补全代码
    return array.reverse()
}

2、sort方法

sort方法一般用于比较大小,当函数为负数a,b交换位置,所以当return的小于0即-1时候可以倒序

function _reverse(array) {
    // 补全代码
       return array.sort((a,b)=>-1)
}

3、循环

普通for

function _reverse(array) {
    // 补全代码
    let arr = []
    for(let i = 0;i<array.length;i++){
        arr.unshift(array[i])
    }
    return arr
}

双指针for好像效率高一点

function _reverse(array) {
    // 补全代码
    for(let i = 0, n = array.length-1 ; i <= n ; i++,n--){
        [array[i],array[n]] = [array[n],array[i]]
    }
    return array
}

全部评论
第2种sort方法不建议使用,不规范的比较函数(如 (a, b) => -1)在不同浏览器引擎可能导致输出结果不可测: 个人测试情况如下: (1)Google Chrome 版本 134.0.6998.118(正式版本) (64 位) [1, 2, 3].sort((a, b) => -1); // 输出 [3, 2, 1] (2)Firefox 版本 136.0.2 (64 位) [1, 2, 3].sort((a, b) => -1); // 输出 [1, 2, 3] [1, 2, 3].sort((a, b) => 1); // 输出[3, 2, 1]
点赞 回复 分享
发布于 03-24 15:42 广东

相关推荐

06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
昨天 10:44
青岛工学院 Java
机械打工仔:对方没做错任何事,你自己在这自找没趣呢,就算他工资不高,人家定多少薪资是人家的事,况且人家写了1~3年清清楚楚
点赞 评论 收藏
分享
评论
7
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务