生成一个介于 0 和 x 之间但不超过 10 的随机数

Generate a random number that is between 0 and x but no more than 10

目前我使用以下方法生成随机数;

Math.floor(Math.random() * (listItems.length - 0))

问题在于 listItems.length 可能介于 3 或 20,000 之间,我只需要一个较小的数字,最好不超过 10,但它也需要小于或等于 listItems.length,所以显然我不能只生成 0 到 10 之间的数字,因为我可以得到 7,但列表长度可能只有 5,这会在以后给我带来问题。

有什么办法可以做到这一点吗?

var rand = Math.random() * Math.min(listItems.length, 10) | 0;