gpt4 book ai didi

javascript - 几个大数组,还是一个包含几个变量的大数组?

转载 作者:行者123 更新时间:2023-11-28 18:18:13 26 4
gpt4 key购买 nike

如果之前有人问过这个问题,我深表歉意,但我发现很难以以前可能被问过的方式来表达这个问题。

问:这样的做法是否更有效:
质量[128] = {0.0}
速度[128] = {0.0}
年龄[128] = {0}

或者:
属性[128] = {质量=0.0,速度=0.0,年龄=0}

为什么?是否有一个简单的规则要始终牢记在心(少数较大的数组是否比许多较小的数组更好)?

我正在使用 Chrome 编写 JS。经常读取和写入元素。

非常感谢!

最佳答案

总的来说,这里的答案是:做最有意义的事情,让你写出最简单、最清晰的代码;如果您确实遇到了任何性能或内存问题,请担心。

使用具有命名属性的对象数组可能会在现代 JavaScript 引擎的访问时间方面更有效,但在内存使用方面可能会效率较低。在这两种情况下,差异都会令人难以置信很小,并且可能难以察觉。

如果您的值是数字并且数组可以具有固定大小,则可以使用 typed arrays ,因为它们确实是数组(如 normal arrays aren't 1 除非 JavaScript 引擎可以将其作为优化)。但是类型化数组也有缺点(例如,它们的大小是固定的),因此,如果有必要的话......

具有命名属性的对象数组示例:

var properties = [
{mass: 0, speed: 0, age: 0},
{mass: 1, speed: 1, age: 1},
// ...
];

如果您使用的是 ES2015(您说过您使用的是 Chrome,所以可以),您可以将其设为 const:

const properties = [
{mass: 0, speed: 0, age: 0},
{mass: 1, speed: 1, age: 1},
// ...
];

使properties成为常量,而不是它指向的数组的内容,因此您仍然可以根据需要添加、删除或修改条目。

<小时/>

1 这是我贫血的小博客上的一篇文章。

关于javascript - 几个大数组,还是一个包含几个变量的大数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40439957/

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