您的位置:首页 > 职场人生

在不断的解决小问题的过程中提高自己(1)-返回整数数组的面试题

2017-03-30 09:23 330 查看
在某家公司面试的时候,记得笔试上有这么一道题:

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

在当时我并没有做出来,由于试卷前面的题目并不难,想来这道题也不难。于是在某个夜晚翻来覆去睡不着的时候就钻研了一下。下面就是代码:

function test(n) {
for (i = 0; i < n; i++)
var arr = [];
var a = Math.random();
var b = Math.floor(a * 30 + 2);
if (arr.indexOf(b) == -1) {
arr.push(b);
}
return arr;
alert(arr[2]);
}
test(5);

看来我想的没错,确实非常简单。主要是对于如何在一个区间内取值不熟悉。其中有这么几个地方需要注意一下:

(1)Math.random()方法用来取随机数,范围为0-1;

(2)Math.floor()方法用来取整,向左取整。意思就是取比给定数小或者相等的证书;

(3)arr.indexOf()方法用来判断数组中是否拥有某个值,返回值为-1即为不包含,如果包含返回其第一次出现的索引位置,妙用无穷
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐