首页 技术 正文
技术 2022年11月21日
0 收藏 962 点赞 3,316 浏览 1546 个字

二十、综合案例

题目一:

**1. ** 数组随机

描述,写randomArray函数,传递一个数组,传递一个数值,返回一个指定个数的随机的新数组,不允许有重复数据

用例:

randomArray([

‘小明’, ‘小红’, ‘小绿’, ‘小白’, ‘小黄’, ‘小蓝’, ‘小黑’, ‘小青’

], 3)

结果:

[‘小红’, ‘小白’, ‘小明’]

**思路 ** **:获取数组的随机值: ** Math.floor(Math.random()*arr.length);

利用循环多次随机,然后判断随机来的内容是否在新数组中存在,(indexOf判断)如果不存在,添加到新数组中,当数组的长度达到指定的长度,则不需要随机

题目二:

2: 只出现一次的数字

描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

示例 1:

输入: singleNumber( [2,2,1] )

输出: 1

示例 2:

输入: singleNumber([4,1,2,1,2])

输出: 4

思路:判断数组的每一个元素第一次出现的位置(indexOf)和最后一次出现的位置(lastIndexOf)的位置一样(即从前往后找和从后往前找,位置一样)那说明只有一个,不一样,说明有两个

题目三:

3,时间

JS转换时间戳为“刚刚”、“1分钟前”、“2小时前”“1天前”等格式

描述:类似于微信朋友圈,根据时间戳转换出(刚刚,1分钟前,1小时前,昨天,几天前,几周前,几个月前)

var toDateFriendly = function (timestr) {}

实例

toDateFriendly(1564738511482) // 刚刚

toDateFriendly((+new Date()) – 1000 * 60 ) // 1分钟前

思路:调用时传入的是发送的时间;

获取当前时间;

求时间差

然后判断时间差,如果小于1分钟,那么弹出刚刚

如果时间差小于1小时,那么具体计算到底是多少分钟

如果实现差小于1天,那么具体计算到底是多少小时

否则,具体计算是多少天;

题目四:

封装一个numberSort(nList)函数,实现如下功能:

nList是个数字串,例如1,4,5,23,2,17,24,897。

请把这串数字转为数组后按照中间高两边低进行排序,

最后的结果是[“1″, ” 4″, ” 5″, ” 23″, ” 897″, ” 24″, ” 17″, ” 2″],请注意左右翼数据数据的平衡性(左右两边的数个数一致)。

console.log(numberSort(‘1, 4, 5, 23, 2, 17, 24, 897’));

//打印结果是[“1″, ” 4″, ” 5″, ” 23″, ” 897″, ” 24″, ” 17″, ” 2″]

console.log(umberSort(’12, 4, 0,65,30,8,19′));

// 打印结果是[” 0″, ” 4″, “12”, “65”, “30”, “19”, “8”]

思路:1)数字串nList转为数组 str.split(分隔符)

3) 判断数组长度是否为偶数

4) 将数组一分为二,平均分成两个小数组 slice()

5) 排序 ,

6) 合并

7) 先将最大数从数组中截取并删除掉

8) 删除最大值 splice()

9) 排序

10) 合并

题目

题目五:

完成 isAnagram,接受两个字符串作为参数,返回true 或者 false 表示这两个字符串是否同字母异序。

同字母异序指的是两个字符串字母种类和字母的数量相同,但是顺序可能不同

例如:

isAnagram(“anagram”, “nagaram”) // return true.

isAnagram(“rat”, “car”) // return false.

思路:

如果两个字符串全等,说明是同字母同序

如果两个字符排序(先转数组(split)才能用sort排序)然后转字符串(join)后全等,说明是同字母异序;

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,000
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,512
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,358
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,141
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,771
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,849