gpt4 book ai didi

javascript - JS中数组元素的随机子集

转载 作者:行者123 更新时间:2023-12-03 02:21:21 24 4
gpt4 key购买 nike

我正在尝试从数组中随机选择一组三个唯一元素。我对 JS 很陌生,并且经常被意想不到的引用行为绊倒(Python 是我最好的语言)。我认为这里也发生了这种情况。这是P5.JS。

这是我的尝试:

var points = [[0,0],[.5*w,0],[w,0],
[0,.5*h],[.5*w,.5*h],[w,.5*h],
[0,h],[.5*w,h],[w,h]];

var vert = [];
var start = int(random(0,8));
vert.push(points[start].slice());
points.splice(start,1);

var middle = int(random(0,7));
vert.push(points[middle].slice());
points.splice(middle,1);

var end = int(random(0,6));
vert.push(points[end].slice());

当我查看 vert 的内容时,很明显我没有得到我期望的元素。特别是,我从未获得原始数组中最后三个元素中的任何一个。

最佳答案

如上所述,int()random() 是 p5.js 函数,很好。通过删除 push() 语句中的 .slice() 实例解决了该问题:

var vert = [];

var start = int(random(0,8));
vert.push(points[start]);
points.splice(start,1);

var middle = int(random(0,7));
vert.push(points[middle]);
points.splice(middle,1);

var end = int(random(0,6));
vert.push(points[end]);

关于javascript - JS中数组元素的随机子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49143302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com