我有一个初始array1 =[{id:"0",a:"4",b:"6"},{id:"1",a:"r",b:"8"},{id:"2",a:"8",b:"9"}] 我想要另一个包含来自初始数组的随机元素的数组randomArray=[{id:"0",a:"4",b:"6"},{id:"2",a:"8",b:"9"}]我该怎么做?
2 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
您可以在下面使用Array.prototype.filter和Math.random()喜欢;
const array1 =[{id:"0",a:"4",b:"6"},{id:"1",a:"r",b:"8"},{id:"2",a:"8",b:"9"}];
const filtered = array1.filter(() => Math.random() > 0.5);
console.log(filtered);
注意:在我的解决方案中,选择每个单独项目的概率为 50%。
慕森卡
TA贡献1806条经验 获得超8个赞
const random = (array, length) => array.sort(() => 0.5 - Math.random()).slice(0, length);
const mock = [
{ id: "0", a: "4", b: "6" },
{ id: "1", a: "r", b: "8" },
{ id: "2", a: "8", b: "9" },
{ id: "3", a: "8", b: "9" }
];
console.log(random(mock, 2))
console.log(random(mock, 3))
console.log(random(mock, 4))
添加回答
举报
0/150
提交
取消