有时候我们需要将某个数组清空或者说重置,我最常用的办法的是重新new一下,但是有人测试研究发现使用length=0的方法,执行效率是最高的,呵呵,原文如下:
_localArray.length = 0; // Reset the array to empty
Yesterday I was coding on a rather large application at work and I needed to reset an array I had that was stored as a member variable. My gut instinct was to just take the Array variable and set its length = 0. Although this worked I wasn't sure if it was the best way to reset an array in ActionScript 3. So I asked my friend Guy Wyatt and he sent me this performance benchmark using 100,000 iterations in an Array as a test to see the time it took to clear out this Array using various techniques.
Resetting an empty array over 100,000 iterations in a while(i--) loop
length = 0: 15 ms
splice: 157 ms
new: 145 ms
So it looks like my gut instinct was right to set the length to 0 to reset my Array. I know this isn't the most glamorous blog post but I do think it is important to think about these things while coding a large Flex application. Every little bit of optimization is crucial and can over all help yield a better functioning application.
分享到:
相关推荐
- 当使用`unset()`删除数组中的某个元素时,原数组的键不会重新排序,如果需要重新排序,可以使用`array_values()`函数。 - 在遍历数组时,`foreach`循环提供了更简便的语法结构,尤其是对于关联数组来说,非常直观...
8. **重置或继续游戏**:游戏结束后,可能需要提供选项让玩家重新开始游戏,这就需要清空棋盘(数组初始化)或重新创建新的棋盘。 通过这些知识点,我们可以构建一个简单的命令行五子棋游戏,虽然没有图形界面,但...
下面我们将逐一深入探讨这些知识点。 1. **二维结构体数组**:在C语言中,结构体是一种自定义数据类型,可以将不同类型的数据组合在一起。二维结构体数组则是这种结构的扩展,用于存储多组相关数据。在这个系统中,...
- 在`void qingkong()`函数中,通过循环将结构体数组中的所有元素重置为初始状态。 8. **按要求查询学生信息**: - 可以根据学号、姓名等关键字查询学生信息。 - `void chaxun()`函数中,用户输入查询条件后,...
用户绘制手势时,我们需要记录下每个点的坐标,并生成一个表示路径的数组。在验证时,将新输入的路径与存储的路径进行比对。一种常见的方式是计算两个路径之间的最小距离,如果小于某个阈值,则认为两者匹配。 3. ...
在顺序存储中,清空二叉树意味着将数组重置为初始状态,即所有元素都设置为空或默认值。如果函数说明有误,可能是原本应将其解释为清空数组,即将所有数组元素设为null或0,以便表示树的空状态。 在C语言中,实现...
在实际项目中,你可能还需要考虑其他方面,比如线条的宽度和颜色选择,或者提供橡皮擦功能。这些可以通过设置`UIBezierPath`的属性来实现,例如`lineWidth`控制线条宽度,`strokeColor`设定颜色。橡皮擦功能可以通过...
总结来说,虽然Laravel查询构建器没有直接提供清除排序的方法,但我们可以通过创建新的查询构建器实例或克隆现有实例并清空排序条件来达到这个目的。这在处理复杂的查询逻辑时非常有用,可以确保每个查询都按预期...
在C语言中实现队列,我们可以选择动态数组或者链表作为底层数据结构。动态数组允许我们在运行时调整大小,而链表则提供了更灵活的插入和删除操作。这个实验可能包括以下基本操作: 1. 初始化队列:创建一个新的空...
5. **无限添加**:为了支持无限添加标签,我们需要确保每次生成新标签后,输入框能清空或重置,以便用户继续输入。同时,系统需要能够管理无限数量的标签,可能需要使用数组或集合来存储这些数据。 6. **事件监听**...
然而,在某些情况下,我们需要删除或清空session中的数据,这可能是为了安全起见,或是因为用户的会话已经结束。在本文中,我们将详细探讨几种在PHP中删除和清空session的方法。 首先,我们来看一下使用`unset`函数...
重置游戏则需要清空棋盘并重新生成初始数字。 总的来说,用C语言实现2048游戏是一项涉及数据结构、算法和用户交互的综合性实践。它要求程序员具备良好的逻辑思维能力和对C语言的深入理解。通过编写这个游戏,不仅能...
- 清空FIFO:将队头和队尾指针重置,长度设为0,释放内存(如果适用)。 在实际应用中,C语言实现的FIFO可以广泛应用于各种场景,例如多线程通信中的消息队列、数据缓存管理,或者在硬件接口(如串口通信)的数据...
9. **复活机制**:在贪吃蛇死亡后,提供“再来一局”功能,需要清空蛇的坐标数组,重置分数和食物位置,然后重新开始游戏。 10. **错误处理与异常捕获**:良好的错误处理机制可以提升游戏的用户体验,比如当发生...
在本Python项目实例中,我们将深入探讨五子棋游戏的实现。五子棋是一种双人对弈的游戏,目标是先将五个同色的棋子连成一条直线(横、竖或斜线)的一方获胜。这里提供的源码是用Python语言编写的,非常适合初学者学习...
秒表是一种常见的计时工具,尤其在体育赛事、编程测试或者日常生活中都有广泛的应用。在IT行业中,特别是在JavaScript编程中,实现一个秒表功能可以提供用户友好的交互体验。本项目名为"Stopwatch",专注于创建一个...
在本文中,我们将深入探讨如何使用Microsoft Visual Studio来开发一个五子棋游戏,其中包括人机对战和人人对战模式。Visual Studio是一款强大的集成开发环境(IDE),它提供了丰富的工具和资源,使得开发者能够轻松...
例如,当字典大小超过某个阈值时,可能需要清空或重置字典,以保持算法的可操作性。 MATLAB作为一种强大的数值计算和数据处理工具,提供了丰富的内置函数和工具箱,使得在其中实现LZW这样的复杂算法变得相对容易。...
2. 游戏重置:游戏结束后,允许用户重新开始,此时需要清空棋盘并重置玩家颜色。 六、源码解读 源码共7页,可能包括棋盘的初始化、落子逻辑、搜索算法实现、用户交互处理等功能模块。阅读源码可以帮助我们理解上述...
最后,清空通讯录功能将删除所有联系人数据,可能需要释放内存并重置数组长度为零。在退出程序之前,应确保所有的内存都已被释放,避免内存泄漏。 总的来说,这个项目提供了一个很好的实践平台,让我们能够运用...