1.随机数的公式原理 简述 并解释过程
基础知识点
Math.ceil(); //向上取整。
Math.floor(); //向下取整。
Math.round(); //四舍五入。
Math.random(); //0.0 ~ 1.0 之间的一个伪随机数。【包含0不包含1】 //比如0.8647578968666494
Math.ceil(Math.random()*10); // 获取从1到10的随机整数 ,取0的概率极小。
Math.round(Math.random()); //可均衡获取0到1的随机整数。
Math.floor(Math.random()*10); //可均衡获取0到9的随机整数。
Math.round(Math.random()*10); //基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
funtiongetRandom(istart,iend){
//为了可以取到100 所以这里 100+1 因为js 这个方法取不到最大的值
variChoice=istart-iend+1;
// 公式是 random() * 91 +10 = 101 取到 10 - 101 之间 的随机数 但是取不到 101 可以取到10
returnMath.floor(Math.random()*iChoice+istart;
}
2 .数组对象 排序 去重
var arr = [{
id: 0,
name: 'tt'
},
{
id: 3,
name: 'tt1'
},
{
id: 2,
name: 'tt2'
},
{
id: 0,
name: 'tt'
},
];
//js 数组对象 去重 排序
function arrSort(arr) {
// 数组去重 第一种
// var result = [];
// var obj = {};
// for(var i =0; i<arr.length; i++){
// if(!obj[arr[i].key]){
// result.push(arr[i]);
// obj[arr[i].key] = true;
// }
// }
//第二种 用对象下的 rr[key] 来判断 rr[key] 对象是可以这样取值的 数组的底层本身就是对象 new Array()
var rr = {};
var arr2 = arr.reduce(function (item, end) { // reduce 是一个函数累加器 从左到右开始缩减 最后返回一个值
rr[end.name] ? '' : rr[end.name] = true && item.push(end); // 对象中如果有这个key 是true 如果没有 设置true 然后 push
return item
}, [])
// js sort函数方法 用于对数组的元素进行排序
arr2.sort(function (ob1, ob2) {
var val1 = ob1.id;
var val2 = ob2.id;
if (val1 < val2) {
return -1
} else if (val1 > val2) {
return 1
} else {
return 0
}
})
return arr2
}
console.log(arrSort(arr));
网友评论