缺什么补什么,先认清自己的能力缺口
很多前端转岗或野路子出身的同学,写业务代码可能溜得很,但一碰到排序、递归、数组去重这类底层逻辑题,就立刻露怯。这门课的主题很明确,就是用 JavaScript 把最基础的数据结构与算法硬啃下来。它解决的问题是:你平时只会调用 sort 方法,却不知道底层是怎么运转的;遇到面试题让你手写一个插入排序,你只能干瞪眼。如果你连基本变量声明和简单函数封装都费劲,建议先补 JS 基础再来看;但只要你写过几个月业务代码,想填补这块逻辑空白,这正好对症下药。别假装自己什么都会,底层原理这块没搞懂就是没搞懂。
建议先看哪几块,资料怎么配合练习
资料里的内容不多,但每一块都是地基,千万别走马观花。建议先从数组和对象这两块看起,因为这是后续所有排序算法操作的基础,你必须清楚在 JS 里数组是怎么分配的,对象又怎么用来做映射。接着死磕冒泡、选择、插入这三种排序,以及递归调用。看视频时不要只盯着屏幕点头,必须打开本地的代码编辑器,跟着视频里的思路自己敲一遍。视频里讲到冒泡排序时,立刻暂停,自己在控制台里写个乱序数组,把每一轮比较的过程用 console.log 打印出来,看看数值到底是怎么一步步交换位置的。讲到递归调用时,自己画一个调用栈的图,搞清楚函数到底在哪一层终止。这门课的资料只是引子,真正的练习全靠你自己在键盘上把那些基础算法实现一遍,不敲代码等于白看。
学完能独立做什么,看完应能回答的问题
看完这些内容,你应该能独立完成几件具体的事:给定一个无序数组,你能不依赖原生方法,手写冒泡、选择、插入三种排序的完整逻辑;遇到一道排序相关的面试题,你能分析出它考的是哪种排序的变种;遇到可以用递归拆解的问题,你能自己写出边界条件和递归公式。为了检验自己是否真补齐了缺口,看完后试着回答几个问题:冒泡排序和选择排序在交换次数上有什么本质区别?插入排序在什么场景下比前两种更高效?递归调用如果不写终止条件会发生什么,底层原理是什么?如果这些问题你答得磕磕巴巴,就回去把对应的视频重新看一遍,继续敲代码。别把看完资料当成学完,能独立写出逻辑才算及格。
课程目录
1 课程简介 (05:14) 2 数组 (13:53) 3 对象 (05:01) 4 冒泡排序 (06:00) 5 选择排序 (05:03) 6 一道排序面试题 (06:58) 7 递归调用 (06:35) 8 插入法排序 (06:12)





