gpt4 book ai didi

javascript - 如何在 Javascript 中创建具有随机 x 和 y 坐标的对象列表?

转载 作者:行者123 更新时间:2023-12-01 01:16:04 25 4
gpt4 key购买 nike

listOfObjects = listOfObjects.concat(Array(10000000).fill({l: 50, b: 50, color: "#000000"}).map((s) => {
s.x = Math.floor(Math.random() * (mapSquareSize));
s.y = Math.floor(Math.random() * (mapSquareSize));
return s;
}));

listOfObjects 数组应该包含具有 x、y、l、b 和 color 属性的对象。我使用了 Array fill() 函数来设置 l、b 和颜色变量。我希望 ListOfObjects 中每个对象的 x 和 y 坐标都是唯一的。然而,上面的代码只是为每个对象提供相同的随机 x 和 y 坐标。

我为此目的使用了这个 for 循环,但一位 friend 告诉我,这样的解决方案会更有效。

// for (var i = 1 ; i <= 10000000 ; i++)
// {
// var rock = new Object();
// rock.x = Math.floor(Math.random() * (mapSquareSize)) + 0 ;
// rock.y = Math.floor(Math.random() * (mapSquareSize)) + 0 ;
// rock.l = 50 ;
// rock.b = 50 ;
// rock.color = "#000000";
// listOfObjects.push(rock);
// }

最佳答案

Array.from:

 const result = Array.from({ length: 10000000 }, () => ({
x: Math.floor(Math.random() * (mapSquareSize)),
y: Math.floor(Math.random() * (mapSquareSize)),
l: 50,
b: 50,
color: "#000000",
}));

这按预期工作,并将在每次迭代期间创建一个新对象。它的作用与 for 循环完全相同,只是更优雅一点(IMO)。

关于javascript - 如何在 Javascript 中创建具有随机 x 和 y 坐标的对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54750381/

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