解释:~是按位取反的意思,再一个表示正回来。
利用两个按位取反的符号,进行类型转化,转换成数字符号。
这里~~之后相当于向下取整了。
var arr = [1,2,3,4,5,6,7,8,9];
function shuffle(a) {
var b = [];
while (a.length) {
var index = ~~(Math.random() * a.length);
b.push(a[index]);
a.splice(index, 1);
}
return b;
}
console.log(shuffle(arr));
网友评论