方式一,length赋值为0
这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值。如
-
int
[] ary = {
1
,
2
,
3
,
4
};
-
ary.length =
0
;
Java中会报错,编译通不过。
而JS中则可以,且将数组清空了,如
-
var
ary = [1,2,3,4];
-
ary.length = 0;
-
console.log(ary);
目前 Prototype中数组的 clear
方法和mootools库中数组的 empty
方法使用这种方式清空数组。
方式二,赋值为[]
-
var
ary = [1,2,3,4];
-
ary = [];
Ext库Ext.CompositeElementLite类的 clear
方法使用这种方式清空。
方式1 保留了数组其它属性,方式2 则未保留。
很多人认为方式1的效率很高些,因为仅仅是给length重新赋值了,而方式2则重新建立个对象。经 测试 恰恰是方式2的效率高。测试代码:
-
var
a = [];
-
for
(
var
i=0; i< 1000000; i++){
-
a.push(i);
-
}
-
var
start =
new
Date();
-
-
a.length = 0;
-
var
end =
new
Date();
-
alert(end - start);
测试结果:
|
IE6 |
IE7 |
IE8 |
IE9 |
Firefox |
Safari |
Chrome |
a.length=0 |
94 |
29 |
14 |
1 |
4 |
3 |
1 |
a=[] |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
以上结果可看到:方式2更快,效率更高。谢谢 逍遥君武
提供测试结果。
来自(http://www.ok22.org/art_detail.aspx?id=116
)
分享到:
相关推荐
在JavaScript中,清空数组是一个常见的操作,可以有多种方式实现。本文讨论了两种常用的方法,并对比它们的优缺点。 首先,来看看JavaScript中常见的几种清空数组的方法: 1. `arr = [];` — 直接将变量`arr`重新...
总结来说,JavaScript提供了多种清空数组的方法,每种方法都有其适用场景和优缺点。splice方法操作直观且能够直接修改原数组,但不适用于保留数组引用的场景。将length属性设置为0是一种快速且不产生新数组对象的...
这是一种非常巧妙的方法,它直接修改数组的`length`属性,使其等于0,从而达到清空数组的目的。在JavaScript中,不同于Java等其他语言,数组的`length`属性是可以被赋值的。这与大多数编程语言的行为不同,例如在...
一、清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 ...若要删除其中的’b’,有两种方法: 1,delete方法:delete arr[1] 这
由于数组的使用场景十分广泛,因此如何有效地删除数组元素和清空数组,是每位前端开发者都需要掌握的基本技能之一。 首先,关于清空数组的方法。在JavaScript中,可以通过修改数组的`length`属性来快速清空数组中的...
总之,Java中的栈可以通过数组或链表两种方式实现,每种实现都有其优势和适用场景。选择哪种实现取决于具体的应用需求,如内存使用、插入删除效率等因素。在实际编程中,可以根据具体问题来决定采用哪种数据结构实现...
队列有两种存储形式:链式和循环数组存储。 在哈工大软件设计代码中,队列的实现是使用循环数组存储结构的。该存储结构的实现是使用模板类的方式,定义了一个名为MyQueue的类,包含了队列的基本操作:入队、出队、...
创建数组有两种方式:数组字面量方式和构造函数方式。数组字面量方式是使用中括号括起来的值,如 `var arr1 = [1, 2, 3];`。构造函数方式是使用 `new Array()` 构造函数,如 `var arr2 = new Array();`。但是,构造...
// 清空数组 unset($arr); // 或者 $arr = array(); ``` ##### 4.4 遍历数组 - **使用`for`循环**:适合遍历索引数组。 - **使用`foreach`循环**:适合遍历关联数组或索引数组。 ```php // 使用for循环遍历索引...
在.NET框架中,数组和字符串是两种非常基础且重要的数据结构。数组允许我们存储和操作一组相同类型的数据,而字符串则是处理文本数据的核心工具。在这篇详细的讲解中,我们将深入探讨这两个概念,以及它们在.NET中的...
总的来说,通过JavaScript数组来实现二级联动菜单是一种高效且灵活的方法。这种方式可以轻松地扩展到多级菜单,并且可以适应各种复杂的数据结构。在实际项目中,你还可以进一步优化,比如添加异步加载数据、错误处理...
Unity3D 中还有两种类型的数组,一种是内置的.NET数组,另一种是JavaScript数组。内置数组(原始的“NET”数组)性能更高,但不能动态调整大小,它们是静态类型的,这意味着它们可以在Unity编辑器的检视面板中直接...
清空数组的一种方式是将数组变量赋值为一个新的空数组,另一种方式是将length属性设置为0。 5. 数组遍历: 遍历是访问数组中每个元素的过程。常见的遍历方式有for循环和for...in循环。for循环通过索引访问,for...in...
首先,我们来看如何**使用`length`属性清空数组**。在JavaScript中,数组的`length`属性不仅用于获取数组的元素个数,还可以用来设置数组的长度。当你将`length`属性设置为0时,数组的所有元素都会被删除,但数组...
在编程领域,控件数组是一种高效且灵活的设计方式,尤其在可视化编程环境中,如VB (Visual Basic) 或者VBA (Visual Basic for Applications)。控件数组允许开发者将多个相似类型的控件(如按钮、文本框等)组合在...
为了模拟循环,我们需要处理两种情况:一是访问当前索引之后的元素,二是访问已经超出索引范围的元素。这两种情况可以通过取模运算(%)来解决,取模运算可以将任何数转换为0到其除数-1之间的数。 以下是一个简单的...
本文将详细讲解如何在C++中创建和删除二维动态数组,以及这两种不同的实现方式。 首先,我们来看第一种创建二维动态数组的方法,这种方式要求列数必须在创建时指定。假设我们要创建一个`TYPE`类型的`M`行`N`列的二...
在C++Builder中,TList是用于管理动态对象数组的一种方式。它提供了较为简便的方式来创建、管理和销毁一系列对象。TList支持动态添加元素,并通过索引访问列表中的各个对象。 - **初始化与使用** 在使用TList之前...