我试图做的是,显示随机名称,我已经得到了它,但我想显示3个对象的随机名称,也是唯一的,我的意思是不显示重复。我该怎么做呢?
var items = [{name: 'Tom', phone: '12321'}, {name: 'Jerry', phone: '235677'}, {name: 'Mike', phone: '11209765'}, {name: 'Robert', phone: '5345'}, {name: 'Danny', phone: '1247774'}, {name: 'Josef', phone: '1199900'}, {name: 'Rainbow', phone: '12675'}, {name: 'Avi', phone: '12344'}, {name: 'Shani', phone: '12222767'}];
var item1 = items[Math.floor(Math.random() * items.length)];
var item2 = items[Math.floor(Math.random() * items.length)];
var item3 = items[Math.floor(Math.random() * items.length)];
$('#Name-1').text('Name 1: '+item1.name);
$('#Name-2').text('Name 2: '+item2.name);
$('#Name-3').text('Name 3: '+item3.name);<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="Name-1"></div>
<div id="Name-2"></div>
<div id="Name-3"></div>
这项工作有时会显示重复,如下所示:
Name 1: Danny
Name 2: Mike
Name 3: Mike发布于 2020-08-15 20:55:21
这将适用于您的情况。从数组中删除所选项目。它将始终为您提供唯一的值。
var items = [{
name: 'Tom',
phone: '12321'
}, {
name: 'Jerry',
phone: '235677'
}, {
name: 'Mike',
phone: '11209765'
}, {
name: 'Robert',
phone: '5345'
}, {
name: 'Danny',
phone: '1247774'
}, {
name: 'Josef',
phone: '1199900'
}, {
name: 'Rainbow',
phone: '12675'
}, {
name: 'Avi',
phone: '12344'
}, {
name: 'Shani',
phone: '12222767'
}];
function getRandom(items) {
let names = [];
let first = Math.floor(Math.random() * items.length);
names.push(items[first].name);
items.splice(first, 1);
let second = Math.floor(Math.random() * items.length);
names.push(items[second].name);
items.splice(second, 1);
let third = Math.floor(Math.random() * items.length);
names.push(items[third].name);
return names;
}
console.log(getRandom([...items]));
https://stackoverflow.com/questions/63425495
复制相似问题