从数组中删除一个随机对象并返回它

冰刺

我想从对象数组中检索一个随机对象,返回该对象,并从数组中删除该对象。我的代码很好,但我敢打赌有一种更简洁的方式来做到这一点。这是我的版本:

let deck = [{...}, {...}, {...}];
function returnCard(deck) {
  let element = deck[Math.floor(Math.random() * deck.length)];
  removeCard(element);
  return element;
}
function removeCard(card) {
  deck = deck.filter(function(el) {
    return el.name !== card.name;
  });
}

这看起来很冗长。我认为我挣扎的部分原因是我想返回,或者一次重新分配两件事,卡片和甲板。

回旋

您可以使用该Array#splice方法从数组中删除元素。此方法也恰好将删除的元素作为数组返回;如果你只删除一个元素,你可以访问0返回值的索引,从本质上从列表中“弹出”一个随机元素。

function popRandom (array) {
  let i = (Math.random() * array.length) | 0
  return array.splice(i, 1)[0]
}

let array = ['A', 'B', 'C', 'D']

console.log(popRandom(array))
console.log(array)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP 从数组中删除一个对象返回空数组

来自分类Dev

根据属性从列表中返回一个随机对象

来自分类Dev

制作一个函数,它接受一个对象数组并根据条件返回一个新数组

来自分类Dev

匹配对象数组中的一个对象并删除

来自分类Dev

从嵌套的对象数组中删除一个对象

来自分类Dev

从 mongodb 对象数组中删除一个对象

来自分类Dev

如何从一个数组中删除一个数组中的对象?

来自分类Dev

如何从一个数组中删除一个数组中的对象?

来自分类Dev

从动态数组中删除一个动态对象

来自分类Dev

使用一个值从数组中删除对象

来自分类Dev

从 JSON 数组中查找并删除一个 json 对象

来自分类Dev

删除Mongodb对象数组中的一个元素?

来自分类Dev

使用 lodash 从数组中删除一个对象

来自分类Dev

.map() 只返回数组中的最后一个对象

来自分类Dev

如何从数组返回一个jQuery attr变量到它的原始对象?

来自分类Dev

使用_.differenceBy从另一个对象数组中删除一个对象数组中的项

来自分类Dev

从一个数组中删除与另一个对象数组相同的对象

来自分类Dev

从数组中删除随机对象

来自分类Dev

从数组中删除一个值。我怎样才能让它工作

来自分类Dev

Excel中的VBA,它应该返回一个数组

来自分类Dev

根据另一个对象数组过滤对象数组。删除数组值与另一个对象数组中的数组值匹配的项目

来自分类Dev

如何多次从数组中随机选择一个对象并将每个对象存储在数组中?

来自分类Dev

你如何从数组中取出一个对象并在它上面使用 instanceof ?

来自分类Dev

从完成处理程序获取一个值/对象到它外部的数组中

来自分类Dev

创建一个二维数组,将Java中的对象随机化

来自分类Dev

从数组中选择一个随机对象

来自分类Dev

迅捷3-从另一个数组中存在的数组中删除对象

来自分类Dev

将一个数组的索引(被随机挑选然后拼接)复制到另一个数组中,以便我知道它的拼接顺序

来自分类Dev

如果元素在另一个对象数组中,则删除包含对象数组内的数组的对象属性

Related 相关文章

  1. 1

    PHP 从数组中删除一个对象返回空数组

  2. 2

    根据属性从列表中返回一个随机对象

  3. 3

    制作一个函数,它接受一个对象数组并根据条件返回一个新数组

  4. 4

    匹配对象数组中的一个对象并删除

  5. 5

    从嵌套的对象数组中删除一个对象

  6. 6

    从 mongodb 对象数组中删除一个对象

  7. 7

    如何从一个数组中删除一个数组中的对象?

  8. 8

    如何从一个数组中删除一个数组中的对象?

  9. 9

    从动态数组中删除一个动态对象

  10. 10

    使用一个值从数组中删除对象

  11. 11

    从 JSON 数组中查找并删除一个 json 对象

  12. 12

    删除Mongodb对象数组中的一个元素?

  13. 13

    使用 lodash 从数组中删除一个对象

  14. 14

    .map() 只返回数组中的最后一个对象

  15. 15

    如何从数组返回一个jQuery attr变量到它的原始对象?

  16. 16

    使用_.differenceBy从另一个对象数组中删除一个对象数组中的项

  17. 17

    从一个数组中删除与另一个对象数组相同的对象

  18. 18

    从数组中删除随机对象

  19. 19

    从数组中删除一个值。我怎样才能让它工作

  20. 20

    Excel中的VBA,它应该返回一个数组

  21. 21

    根据另一个对象数组过滤对象数组。删除数组值与另一个对象数组中的数组值匹配的项目

  22. 22

    如何多次从数组中随机选择一个对象并将每个对象存储在数组中?

  23. 23

    你如何从数组中取出一个对象并在它上面使用 instanceof ?

  24. 24

    从完成处理程序获取一个值/对象到它外部的数组中

  25. 25

    创建一个二维数组,将Java中的对象随机化

  26. 26

    从数组中选择一个随机对象

  27. 27

    迅捷3-从另一个数组中存在的数组中删除对象

  28. 28

    将一个数组的索引(被随机挑选然后拼接)复制到另一个数组中,以便我知道它的拼接顺序

  29. 29

    如果元素在另一个对象数组中,则删除包含对象数组内的数组的对象属性

热门标签

归档