Algorithmic advancement
从零开始,提升算法与编程能力
将数组 arr 中的元素作为调用函数 fn 的参数
输入: function (greeting, name, punctuation) {return greeting + ', ' + name + (punctuation || '!');}, ['Hello', 'Ellie', '!'] 输出: Hello, Ellie!
来源:牛客网-JS能力测评经典题
难度:★★☆☆☆
解析:第 09 题
从数组中取出只出现了一次的数字
输入: [4,1,2,1,2,5] 输出: [4,5] 返回新的数组
来源:力扣-精选Top面试题
难度:★★☆☆☆
解析:第 08 题
反转数组——实现一个 reverse()
输入:["h","e","l","l","o"] 输出:["o","l","l","e","h"] 改变原数组,不用返回任何值
来源:力扣-精选Top面试题
难度:★★☆☆☆
解析:第 07 题
实现一个打点计时器
- 从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1
- 返回的对象中需要包含一个 cancel 方法,用于停止定时操作
- 第一个数需要立即输出
实例: 函数为两个参数 function count(start,end){......} 输入:1,10 控制台依次输出:1,2,3...9,10
来源:牛客网-JS能力测评经典题
难度:★★☆☆☆
解析:第 06 题
查找指定元素在数组中的索引
实例: 输入:[1, 2, 4, 4, 3, 4, 3], 4 输出:[2,3,5]
来源:牛客网-JS能力测评经典题
难度:★★☆☆☆
解析:第 05 题
经典数组算法题:数组去重与数组取重
实例:去重 输入:[1, 2, 4, 4, 3, 4, 3] 输出:[1,2,4,3] 若输出:[1,2,3,4] 那么还要考虑排序 实例:取重 输入:[1, 2, 4, 4, 3, 4, 3] 输出:[4,3] 若输出:[3,4] 那么还要考虑排序
来源:牛客网-JS能力测评经典题
难度:★★★☆☆
解析:第 04 题
统计数组中指定值的个数
实例: 输入:[1, 2, 4, 4, 3, 4, 3], 4 输出:3
来源:牛客网-JS能力测评经典题
难度:★★☆☆☆
解析:第 03 题
不改变原数组,末尾添加新元素,返回新数组
实例: 输入:[1, 2, 3, 4], 10 输出:[1, 3, 4,10]
来源:牛客网-JS能力测评经典题
难度:★☆☆☆☆
解析:第 02 题
移除数组 arr 中的所有值与 item 相等的元素。
写出 (直接修改原数组) 和 (不直接修改数组 arr,结果返回新的数组) 两种方式的逻辑代码。实例: 输入:arr:[1, 2, 3, 4, 2] , item: 2 输出:[1, 3, 4]
来源:牛客网-JS能力测评经典题
难度:★★☆☆☆
解析:第 01 题