我正在尝试在JavaScript中为蛇和梯子逻辑(没有ui)编写代码。我需要把它扩展到10,000条蛇和梯子。我是 JavaScript 的新手。我已经设法为5条蛇和5个梯子与2名玩家使用数组做到这一点。但我不确定数组对于 10000 个元素的开发和维护是否有效。我应该改用什么?
var ladderTop = [55, 40];
var ladderBottom = [35, 25];
我使用的数组与此类似。代码笔链接:https://codepen.io/nightshade235/pen/oojabm
另外,假设我想更改 10,000 个元素中的第 32 个元素,数组仍然有效吗?
但我不确定数组对于 10000 个元素的开发和维护是否有效。我应该改用什么?
但不知何故,您确定应该使用其他东西?
JavaScript中的巨大数组没有错
console.time ('add 1 million items')
console.log (
Array.from (Array (1e6), (_,x) => x)
.reduce ((x,y) => x + y, 0))
console.timeEnd ('add 1 million items')
// 499999500000
// add 1 million items: 225ms
以指数级成本将其扩展到 10M
console.time ('add 10 million items')
console.log (
Array.from (Array (1e7), (_,x) => x)
.reduce ((x,y) => x + y, 0))
console.timeEnd ('add 10 million items')
// 49999995000000
// add 10 million items: 2537.070 ms
我的猜测是您的指南可能建议组合数组。例如:
var data = [ { ladder: { Top: 55, Bottom: 35 }, snake: { Top: 22, Bottom: 8 } },
{ ladder: { Top: 40, Bottom: 25 }, snake: { Top: 60, Bottom: 43 } } ]
console.log( data[1].snake.Top )
组合数组绝对不是更有效率,因为它需要更多的时间来解析并会创建更多的对象,但如果项目变得更大,主观上可能更容易维护。