
练习题
各种练习题
Charonmomo
这个作者很懒,什么都没留下…
展开
-
数组去重题解 - NaN的识别问题
问题 描述 为 Array 对象添加一个去除重复项的方法 示例1 输入: [false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN] 输出: [false, true, undefined, null, NaN, 0, 1, {}, {}, 'a'] 数组去重本身不难, 需要注意的一个问题是: 如果输入中包含两个NaN该如何处理. 可以识别NaN: isNaN() includes() 如果存在返回true con原创 2021-08-23 16:29:37 · 528 阅读 · 0 评论 -
JavaScript - 包含NaN的数组去重
我们可以根据arr.indexof(item)是否等于当前项的下标来筛选数据,因为indexof只会返回数组中第一次出现的元素的下标, 对于除NaN以外的其他数据来说, 可以通过判断返回的下标和当前元素的下标是否相同来判断。 需要注意的问题是: 数组中包含NaN, NaN==NaN =>false, 所以indexof是无法判断NaN的下标的。 判断NaN的方法: 用Number.isNaN(item)先判断其值是否为number类型, 再判断是否为NaN; 提前声明flag=0, 通过判断flag原创 2021-08-18 15:38:49 · 406 阅读 · 0 评论 -
JavaScript - 数组去重
<script> var arr = [1,1,1,2,2,3,4,5,6,3,4,2,4,1]; for(var i=0;i<arr.length;i++){ for(var j=0;j<arr.length;j++){ if(j != i && arr[j]== arr[i]){ arr.splice(j,1);原创 2021-08-18 13:17:26 · 148 阅读 · 0 评论 -
JavaScript - 将句子的每个单词的第一个字母变为大写
思路: 先用split(" ")将句子转为字符串数组, 每个单词就是一个数组元素 将每个单词的第一个字母和其他的字母分别取出来单独存放, 用toUpperCase() 将第一个字母转成大写后再 用concat( ) 与后面的其他字母连接起来就可以了. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compati原创 2021-08-18 11:19:01 · 670 阅读 · 0 评论 -
JavaScript - 编写一个函数返回字符串中最长的连续重复字母
思路 可以将每个重复字母开头的字符串中的第一个保存到一个变量中 (代码中的a), 然后将后面的数组元素与它对比: 如果相同, 则计数器累加. 计数器代表的是这串重复字符串的长度 如果不同, 说明后面是一个新的字母了, 这时需要更新变量 a的值, 并且记录下此时字符串数组的下标 (用来截取结束的重复字符串), 最后根据重复字符串的长度判断是否更新maxStr的值. 字符串中可能会出现两串重复字母长度相等的情况, 为了避免出现这个问题, 我们可以提前声明一个备用的字符串 (代码中的 maxStrl)原创 2021-08-18 10:40:12 · 785 阅读 · 0 评论