Jeffery

人无远虑、必有近忧

  • 主页
  • 随笔
  • 技术
  • 相册
  • 关于
所有文章 友链 关于我

Jeffery

人无远虑、必有近忧

  • 主页
  • 随笔
  • 技术
  • 相册
  • 关于

Hi, Welcome to my blog

阅读数:0次 2018-04-24

文章导航

× 文章目录
  1. 1. 分享一个面试题

This is my first blog on github from Blog Park, I’ll sharing technology blog irregularlly and discuss problems together.

分享一个面试题

// 编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

console.log('---解法一---')

function fn(n) {
let arr = []
for(let i = 0; i < n; i++) {
let num = getRound(2, 32);
if (arr.arrCheck(num)) {
i--;
} else {
arr.push(num)
}
}
return arr;
}
Array.prototype.arrCheck = Array.prototype.arrCheck || function(num) {
for(let i = 0; i < this.length; i++) {
if (this[i] === num) {
return true
}
}
return false
}
function getRound (min, max) {
return parseInt(Math.random() * (max - min + 1) + min)
}
console.log(fn(8))

其它解法略

赏

谢谢你请我吃糖果

  • welcome
  • intoduction

扫一扫,分享到微信

微信分享二维码
正则表达式之量词
Vue的双向数据绑定
  1. 1. 分享一个面试题
© 2019 Jeffery
Hexo Theme Yilia by Litten
  • 所有文章
  • 友链
  • 关于我

tag:

  • cli
  • javascript
  • nodejs
  • design
  • 设计模式
  • readline
  • vue
  • path
  • template
  • AST
  • 源码
  • 插件
  • 轮播
  • 滚动
  • welcome
  • intoduction
  • web
  • web安全
  • vnode
  • patch
  • diff
  • 正则表达式
  • 量词
  • 贪婪模式
  • 惰性模式
  • 苏州
  • 旅行
  • 风景
  • segmentfault
很惭愧<br><br>只做了一点微小的工作<br>谢谢大家