js中随机产生一个元素,并且,不与当前数组内元素重复
浏览器中直接运行
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<button id="abc" onclick="random(false,10)">在数组中添加一个随机数</button>
<script type="text/javascript">
var arr = []
function random(bool,length) {
var x = Math.floor(Math.random() * length)
if (arr.length == length) {
console.log("数组长度已达到")
return
}
for(var i=0;i<=arr.length;i++){
if (x == arr[i]) {
console.log("随机数与数组内容出现重复,再次调用此函数")
if (bool){
return random(bool,length)
}else{
return random(bool,length)
}
} else {
}
if (i == arr.length) {
if(bool){
arr.unshift(x)
console.log("此次随机结果为:"+x,arr)
console.log("在数组前添加元素成功")
}else{
arr = arr.concat(x)
console.log("此次随机结果为:"+x,arr)
console.log("在数组后添加元素成功")
}
return
}
}
}
</script>
</body>
</html>