为了账号安全,请及时绑定邮箱和手机立即绑定

我想从初始数组中获取数组随机元素

我想从初始数组中获取数组随机元素

幕布斯7119047 2021-12-02 14:49:24
我有一个初始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%。


查看完整回答
反对 回复 2021-12-02
?
慕森卡

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))


查看完整回答
反对 回复 2021-12-02
  • 2 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信