练习题
各种练习题
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 · 453 阅读 · 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 · 359 阅读 · 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 · 108 阅读 · 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 · 619 阅读 · 0 评论 -
JavaScript - 编写一个函数返回字符串中最长的连续重复字母
思路可以将每个重复字母开头的字符串中的第一个保存到一个变量中 (代码中的a), 然后将后面的数组元素与它对比:如果相同, 则计数器累加. 计数器代表的是这串重复字符串的长度如果不同, 说明后面是一个新的字母了, 这时需要更新变量 a的值, 并且记录下此时字符串数组的下标 (用来截取结束的重复字符串), 最后根据重复字符串的长度判断是否更新maxStr的值.字符串中可能会出现两串重复字母长度相等的情况, 为了避免出现这个问题, 我们可以提前声明一个备用的字符串 (代码中的 maxStrl)原创 2021-08-18 10:40:12 · 712 阅读 · 0 评论