怎么清空javascript数组
当一个数组需要清空的时候,很多人使用下面的方法:
a = [];
我们知道javascript变量存储方式分为引用类型和直接量。数组属于对象,即引用类型,引用的是变量指针地址,之所以这样设计也是为了节省内存。
再说到上面的请空数组的方式,如果采用直接赋值一个新数组的方式,那么之前引用的数组可能不会被释放(有其他的引用),例如下面的代码:
var a = [2,3];
var b = a;
a = [];
console.log(b);
这时候a和b就不是同一个数组了,清空了a而b还是指到之前的引用地址,除非你是故意的,否则这将会有隐患。
所以最佳的请空数组方式是:将length设置为0,即:
a.length = 0;
转自 JS8.IN ™
相关推荐
-
JavaScript中清空数组的三种方式
方式1,splice var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了 方式2,length赋值为0 这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值.如 int[] ary = {1,2,3,4}; ary.length = 0; Java中会报错,编译通不过. 而JS中则可以,且将数组清空了,如 var ary = [1,2,3,4]; ary.
-
javascript 删除数组元素和清空数组的简单方法
javascript 删除数组元素和清空数组的简单方法 一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删除数组元素 var ary = [1,2,3,4]; ary.splice(0,1); 或 ary.splice($.inArray(2, ary), 1); 其中$.inArray(2, ary)用来查找某元素在数组中的索引位置. 三,js
-
JavaScript中清空数组的三种方法分享
方式1,splice 复制代码 代码如下: var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了 方式2,length赋值为0 这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值.如 复制代码 代码如下: int[] ary = {1,2,3,4}; ary.length = 0; Java中会报错,编译通不过.而JS中则可以,且将数组清空了, 复制代码
-
js利用数组length属性清空和截短数组的小例子
1.使用length清空数组: 复制代码 代码如下: <script> var arr1 = ['aaa','bbbb','http://www.jb51.net']; alert(arr1); arr1.length = 0; alert(arr1); //数组为空</script> 2.使用length截短数组: 复制代码 代码如下: <script> var arr1 = ['aaa','bbbb','c','d','e'];
-
JavaScript中清空数组的方法总结
方式1,splice var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了 方式2,length赋值为0 这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值.如 int[] ary = {1,2,3,4}; ary.length = 0; Java中会报错,编译通不过.而JS中则可以,且将数组清空了, var ary = [1,2,3,4]; ary.l
-
JavaScript清空数组元素的两种方法简单比较
本文实例讲述了JavaScript清空数组元素的两种方法简单比较.分享给大家供大家参考.具体分析如下: JavaScript中数组清空有多种方法: var arr = [1, 2, 3]; arr = [];//方法一 arr.length = 0;//方法二 arr = null;//方法三 delete arr;//方法四 这里比较最常用的第一种和第二种 var arr = [1, 2, 3]; // 方法一 // 优点:如果有其他地方用到了数组arr中的元素,这种方法相对来说更安全.并且也
-
js删除数组元素、清空数组的简单方法(必看)
一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删除数组元素 var ary = [1,2,3,4]; ary.splice(0,1); 或 ary.splice($.inArray(2, ary), 1); 其中$.inArray(2, ary)用来查找某元素在数组中的索引位置. 三,js 删除数组几种方法 var arr=['a','b','c
-
怎么清空javascript数组
当一个数组需要清空的时候,很多人使用下面的方法: 复制代码 代码如下: a = []; 我们知道javascript变量存储方式分为引用类型和直接量.数组属于对象,即引用类型,引用的是变量指针地址,之所以这样设计也是为了节省内存. 再说到上面的请空数组的方式,如果采用直接赋值一个新数组的方式,那么之前引用的数组可能不会被释放(有其他的引用),例如下面的代码: 复制代码 代码如下: var a = [2,3]; var b = a; a = []; console.log(b); 这时候a和b就不
-
Javascript数组Array基础介绍
Javascript,一门神奇的语言,它的数组也同样独特.我们要去其糟粕,取其精华,把常用的最优实践总结出来.如有错误,请指出. javascript数组是一种类数组的对象,拥有对象的特性.当属性名是小而连续的整数时,应该使用数组,否则,使用对象. 数组来源 所有的数组都是Array构造出来的,我们来测试一下constructor这个属性. var arr = []; arr.constructor === Array; // true arr.constructor === Array.pro
-
javascript 数组精简技巧小结
数组是 JS 最常见的一种数据结构,咱们在开发中也经常用到,在这篇文章中,提供一些小技巧,帮助咱们提高开发效率. 1. 删除数组的重复项 2. 替换数组中的特定值 有时在创建代码时需要替换数组中的特定值,有一种很好的简短方法可以做到这一点,咱们可以使用.splice(start.value to remove.valueToAdd),这些参数指定咱们希望从哪里开始修改.修改多少个值和替换新值. 3. Array.from 达到 .map 的效果 咱们都知道 .map() 方法,.from() 方
-
JavaScript数组迭代器实例分析
本文实例讲述了JavaScript数组迭代器用法.分享给大家供大家参考.具体如下: 这里注意:如果数组中有0.false."".null.NaN迭代器将会停止 function createIterator(x) { var i = 0; return function(){ return x[i++]; }; } var iterator=createIterator(['a','b','c','d','e','f','g']); var current; while(current
-
JavaScript 数组的深度复制解析
对于javascript而言,数组是引用类型,如果要想复制一个数组就要动脑袋想想了,因为包括concat.slice在内的函数,都是浅层复制.也就是说,对于一个二维数组来说,用concat来做复制,第二维的数组还是引用,修改了新数组同样会使旧数组发生改变. 于是乎,想要写一个深度复制的函数,来帮助做组数的深度复制. 一般情况下,使用 "=" 可以实现赋值.但对于数组.对象.函数等这些引用类型的数据,这个符号就不好使了. 1. 数组的简单复制 1.1 简单遍历 最简单也最基础的方式,自然
-
javascript数组操作(创建、元素删除、数组的拷贝)
1.数组的创建 复制代码 代码如下: var arrayObj = new Array(); //创建一个数组var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以
-
javascript数组随机排序实例分析
本文实例讲述了javascript数组随机排序实现方法.分享给大家供大家参考.具体如下: 我们就测试0-9的随机排序,先生成数据 var arr=[9,3,1,2,5,8,4,7,6,0]; arr.sort(); document.write("正常排序后的数组元素:"+arr.join(",")+"<BR />"); 正常排序后的数组元素:0,1,2,3,4,5,6,7,8,9 定义一个随机函数,随机返回正数或者负数,sort函数
-
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
本文实例讲述了javascript数组对象常用api函数.分享给大家供大家参考,具体如下: 1. concat() 连接两个或多个数组,并返回结果 var a = [1,2,3]; var b = a.concat(6,7); console.log(a); //[1,2,3] console.log(b); //[1,2,3,6,7] 2. join(str) 把数组的所有元素用str分隔,默认逗号分隔 var a = [1,2,3] var b = a.join('|'); console.
-
JavaScript数组实现数据结构中的队列与堆栈
一.队列和堆栈的简单介绍 1.1.队列的基本概念 队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被取出! 如下图所示: 1.2.堆栈的基本概念 堆栈:是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出! 如下图所示: 二. 在JavaScript中实现队列和堆栈 在JavaScript中实现队列和数组主要是通过数组,js数组中提供了以下几个方法可以让我们很方便实现队列和堆栈: •shift:从数组中把第一个元素删除,并返回这个元素的值. •unshift: 在数组
-
COM中获取JavaScript数组大小的代码
IDispatch类型的指针,则表明该数组对象实际是一个JavaScript的内建数组对象,在JavaScript端,我们可以通过length属性来得到数组的大小,那么在此处,可以通过GetIDsOfNames函数和Invoke函数来获取数组长度,这样可以动态变量数组内容. 复制代码 代码如下: // 获取数组长度 BSTR bstrLength = L"length"; DISPID dispid; hr = lpDispatch->GetIDsOfNames(IID_NULL
随机推荐
- 一些小技巧与常见问题解决方法
- C#的四种基本数据类型
- 生成PDF全攻略之在已有PDF上添加内容的实现方法
- php调用mysql存储过程
- JavaScript标准对象_动力节点Java学院整理
- PHP生成图片验证码、点击切换实例
- 强悍无比的WEB开发好助手FireBug(Firefox Plugin)
- 基于JS实现新闻列表无缝向上滚动实例代码
- ECMAScript6变量的解构赋值实例详解
- javascript创建含数字字母的随机字符串方法总结
- jQuery中filter(),not(),split()使用方法
- 正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
- ASP.NET五步打包下载Zip文件实例
- Yii入门教程之Yii安装及hello world
- PHP 选项及相关信息函数库
- iOS如何扫描HEIF格式的二维码图片
- vuejs项目打包之后的首屏加载优化及打包之后出现的问题
- Android自定义FloatingText仿点赞+1特效
- Python批量修改图片分辨率的实例代码
- 详解如何用TensorFlow训练和识别/分类自定义图片