偶得一前端面试题,作答如下,欢迎大佬review
来源:互联网 发布:centos 生成uuid 编辑:程序博客网 时间:2024/05/22 14:26
前端面试题目如下:
编写一个
javascript
函数fn,该函数有一个n
(数字类型),其返回值是一个数组,该数组内是n
个随机且不重复的整数,且整数取值范围是[2, 32]
.
思考解题如下: (望各位不吝指正)
function fn(n) { // 检查 n 是否是数字类型 if (typeof n == 'number') { var arr = []; var min = 2, max = 32; // 检查 n 是否小于 数组长度 // 如果 n 大于 数组长度,不可能实现不重复 if ( n <= (max - min + 1)) { for (var i = 0; i < n; i++) { // 从[2, 32]的自然数数组中随机获取一个数字 var rnd = getRand(2, 32); // 检查是否重复 if (checkInArr(arr, rnd)) { i--; } else { arr.push(rnd); } } return arr; } else { alert('error: '+ n + ' is greater than the length of array ' + (max - min + 1)); } } else { alert('error: the parameter should be typeof number'); }}// 从特定自然数数组中随机获取数字function getRand(min, max) { var arr = []; for (var i = min; i < max + 1; i++) { arr.push(i); } var randomIndex = Math.round(Math.random()*(max - min)); var rnd = arr[randomIndex]; return rnd;}// 检查重复// 只要有一个重复返回true// 否则返回false,表示没有重复function checkInArr(arr, rnd) { for (var i = 0; i < arr.length; i++) { if (rnd === arr[i]) { return true; } } return false;}
阅读全文
0 0
- 偶得一前端面试题,作答如下,欢迎大佬review
- 前端面试题一
- 前端面试题一
- 前端面试题整理一
- 前端面试题(一)
- 前端面试题(一)
- 前端面试题(一)
- 前端面试题集锦一
- 前端面试题总结一
- 前端面试题(一)
- 国内某电商大佬面试题
- 前端工程师面试题(一)
- WEB前端开发工程师面试题(一)
- 前端开发面试题集锦(一)
- 前端开发面试题集锦(一)
- Web前端开发面试题系列一
- 前端面试题——系列一
- 前端面试题汇总(一)
- 个人站长十忌
- js中 instanceof 运算符
- poj2104 K-th Number【主席树模板】
- Hibernate 笔记 HQL查询:条件查询,聚集函数,子查询,导航查询
- java获得当前线程的名称
- 偶得一前端面试题,作答如下,欢迎大佬review
- Andriod Studio单元测试问题集总
- Android程序员都该明白--从Activity到View(一)
- 源码安装以太坊/wtc
- QMAKE_LFLAGS妙用
- Python简单实现计算当前单元格的前几行之和
- cocos2dx点击按钮更改按钮图片
- java后台JSON解析前台传入的数组JSON字符串
- vue.js在windows本地下搭建环境和创建项目