您的位置:首页 > Web前端

前端面试题:企业面试真题—13

2020-08-21 13:30 681 查看
用js实现一个随机打乱数组顺序的函数,要求可以设定数组种任意1个元素的位置不变,其他位置的元素位置随机变化。
[code]function shuffle(arr=[], fixIndex=-1) {
//遍历数组的每一个元素, 将它们随机的跟其他元素进行交换
arr.forEach( (item, index)=>{
if(index==fixIndex) reutrn; //碰到固定元素,跳过

//随机一个要交换的元素, 并确保不是固定元素
var swapIndex = parseInt(Math.random()*arr.length);
while(swapIndex==fixIndex){ swapIndex = parseInt(Math.random()*arr.length) }

//交换
[arr[index], arr[swapIndex]] = [arr[swapIndex], arr[index]];
})
}
用js实现一个比较APP版本号的大小的函数,版本号由数字和.组成。例如:1.1.0、1.10、1.2.13等。
[code]function compareVersion(v1, v2){
var arr1 = v1.split(".");
var arr2 = v2.split(".");
//得到最小长度, 因为可能出现 1.3.14 和 1.6
var minLength = Math.min(arr1.length, arr2.length);
var res = 0;

for(var i=0; i<minLength; i++){
if(arr1[i] == arr2[i]) continue; //大版本相同,比较后面小版本号
arr1[i] - arr2[i]>0 ? res=true : res=false;
}
return res;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: