js上 二十、综合案例
二十、综合案例
题目一:
**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)后全等,说明是同字母异序;
js上 二十、综合案例的更多相关文章
- js下 Day20、综合案例
一.购物车 效果图: 功能思路分析: 1. 面向对象框架 2. 模拟数据 1.多个店铺数组套对象 2.每个店铺多个商品,数组套对象
- js下 Day18、综合案例
一.分页 效果图: 功能思路分析: 分页就是将所有的数据按指定条数分成若干份: 假如有24条数据,每页只显示5条,则需要分成Math.ceil(24 / 5) = 5页; 每次只显示1页数据,所以需要 ...
- js下 Day17、综合案例
一.面向对象轮播 效果图:
- 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_5_综合案例_文件上传案例优化
自定义文件命名 文件名称被写死了 服务器上传了一张图片,服务器就停止了 把服务器端的代码放在while循环里面 服务器也不用 关闭了. 上传完成后服务器端没有关闭 再来启动客户端,又上传一张投片. 多 ...
- js上 二.JavaScript基本语法
1.JavaScript词法结构 所谓词法结构是指一套基础性规则,用来描述如何使用这门语言来编写程序,包括如下几项: ü 字符集unicode ü 区分大小写 (true和TRUE) ü 忽略空白字符 ...
- js下 Day19、综合案例
一.吸顶楼层 效果图: 功能思路分析: 1. 面向对象框架 2. 渲染导航 \1. 数据 \2. 对象结构的数据用for in遍历 \3. 渲染时将属性名设为锚点(a标签的href) 3. 渲染车系 ...
- js上 十九、综合案例
十九.综合案例 题目一: 封装一个函数equal(a1,a2),传入两个一维数组,判断两个数组是否包含相同的元素,如果相等,函数的返回值为true, 不相等,函数的返回值为false 1)例:arr1 ...
- Ext.js入门:常用组件与综合案例(七)
一:datefield简单示例 二:timefield简单示例 三:numberfield简单示例 四:FormPanel提交 datefield简单示例: <html xmlns=&quo ...
- Bootstrap入门(二十九)JS插件6:弹出框
Bootstrap入门(二十九)JS插件6:弹出框 加入小覆盖的内容,像在iPad上,用于存放非主要信息 弹出框是依赖于工具提示插件的,那它也和工具提示是一样的,是需要初始化才能够使用的 首先我们引入 ...
随机推荐
- 其实SQL优化调优,就跟吃饭喝水一样简单,教你抓住SQL的本质!
前言 SOL 优化并不简单,做好 SOL 优化需要掌握数据库体系结构.表和索引设计.高效 SOL法.高级 SOL 语法.多种优化工具等知识,甚至还得分析业务特点,以及了解优化器的缺点.只有建立 SOL ...
- MathType如何对齐公式
作为强大的公式编辑器,MathType为我们的学习.工作带来了极大的便利.比如在写论文时,有了它,就可以轻松就把论文里的公式码完:老师在编写试卷时,利用它,可以快速编写出一份试卷.那么在编写公式时,也 ...
- Pypi项目包发布
前言 用过python的人肯定对pip安装不陌生,pip安装的包的来源都是在Pypi上.为了能随时能使用自己的包,所以尝试一下将自己的包发布到Pypi上. 步骤 一.准备项目 一.创建目录结构 二.准 ...
- 【Updating】汇编语言学习记录02
换码指令.字符的输出 前置知识: XLAT 指令:将BX指定的缓冲区中.AL指定的位移处的一个字节数据取出赋给AL,实际相当于(AL) = (DS:(BX+AL)).注意,不是单纯地赋予AL+BX,而 ...
- web自动化-绕过登录
两个方法: 1.常用的方法: 第一种方法是登录后查看网站的 cookie,请求 url 的时候把 cookie 带上(缺点是:cookie有时间限制.优点:简单,方便) 2.添加cookies的方式: ...
- gulp常用配置
由于项目中经常会使用到gulp,而每次配置大概都差不多,所以将配置记录一下 项目结构 ├─dist │ ├─assets │ ├─css │ ├─images │ └─js ├─node_module ...
- redis分布式锁解决超卖问题
redis事务 redis事务介绍: 1. redis事务可以一次执行多个命令,本质是一组命令的集合. 2.一个事务中的所有命令都会序列化,按顺序串行化的执行而不会被其他命令插入 作用:一个队列 ...
- 保姆级别的RabbitMQ教程!包括Java和Golang两种客户端
目录 什么是AMQP 和 JMS? 常见的MQ产品 安装RabbitMQ 启动RabbitMQ 什么是Authentication(认证) 指定RabbitMQ的启动配置文件 如何让guest用户远程 ...
- MySQL索引(一)索引基础
索引是数据库系统里面最重要的概念之一.一句话简单来说,索引的出现其实是为了提高数据查询的效率,就像书的目录一样. 常见模型 索引的出现是为了提高查询效率,但是实现索引的方式却有很多种,这里就介绍三种常 ...
- 第7.3节 Python特色的面向对象设计:协议、多态及鸭子类型
Python是一种多态语言,其表现特征是:对象方法的调用方只管方法是否可调用,不管对象是什么类型,从而屏蔽不同类型对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化. 一. P ...