JavaScript获得数组大小效率
JavaScript get array size efficiency
我从w3schools这里读到以下内容
Bad Code:
for (i = 0; i < arr.length; i++) {
Better Code:
l = arr.length;
for (i = 0; i < l; i++) {
我在学校里学过c++和Java,我从来没有学过这是我们需要考虑的效率。获取数组的大小不是一个O(1)操作吗?这种优化真的有必要吗?这真的是人们在工业中所做的吗?
编辑:假设数组的大小不变
是的,获得长度是0(1),但它不是通常优化出来,因为在循环期间数组长度改变是可行的。
在我知道数组长度不会改变的情况下,我的首选语法是:
for (var i = 0, n = arr.length; i < n; ++i)
像往常一样,w3schools忽略了一点——他们引用的第一个版本并不总是坏代码,因为如果在循环期间修改数组长度,该代码可能正是所需要的。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 2D数组来自文本输入,中间有空格
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- 效率:标准::数组与标准::矢量
- 使数组的内存效率更高
- 正在使用C 三元运算符中的字符串常数,一种无效的非效率数组的使用
- C 数组的内存效率
- C++ 数组与 std::vector 和 std::array 的效率
- 多维数组迭代效率
- 2bit位域数组对性能和缓存效率的影响
- Numpy数组与c++向量在内存效率上的对比
- 高维数组vs一维数组在c++中的效率