方法一:
var arr = ["鹿晗", "王俊凯", "蔡徐坤", "彭于晏", "周杰伦", "刘德华", "赵本山", "小沈阳", "刘备", "关羽", "张飞"];
var newArr = []; // 创建新数组
let isSwitch = true; // 开关变量
while (isSwitch) {
var randomNum = Math.round(Math.random() * (arr.length - 1)); // 声明随机数
if (!newArr.includes(randomNum)) { // 进行判断 查找随机数在新数组李是否有重复值
newArr.push(randomNum); // 如果进if 说明4个数不重复 将4个数添加进新数组
if (newArr.length == 4) { // 当新数组的元素等于4时,开关变量改为false 循环停止
isSwitch = false;
}
}
}
for (var item of newArr) { // 对新数组进行遍历,用元素在原数组中匹配不同成员名字
console.log(arr[item]);
}
方法二:
var arr = ["鹿晗", "王俊凯", "蔡徐坤", "彭于晏", "周杰伦", "刘德华", "赵本山", "小沈阳", "刘备", "关羽", "张飞"];
var newArr2 = [];
while (newArr2.length < 4) {
let num = Math.floor(Math.random() * arr.length); //向下取整
if (newArr2.indexOf(arr[num]) === -1) { // 在新数组中没有查找到名字 进入if
newArr2.push(arr[num]);
}
}
console.log(newArr2);