javascript数组的属性、方法和清空-最全!!!(必看)
2016-04-08 10:30
543 查看
今天经理要我从新看一遍js,当我再看《精通js和jquery》这本书时,发现关于数组的这章节讲的很少,于是想自己总结一下数组的常用方法。
定义数组:
var arr = new Array(12);
arr[10] = “cmc”;
var arr = new Array(); //无法确定一个数组的长度时
var arr = [“chen”,”liu”,”huang”];
var arr = new Array( [“chen”,”liu”,”huang”]);
var a = new Array(5); //指创建长度为5的数组
var a = new Array([5]); //指创建一个数组,长度为1,并且第一位是5
数组属性:
1. length属性:Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。和其他大多数语言不同的是,
JavaScript数组的length属性是可变的,这一点需要特别注意。arr.length=0;,这就是一种清空js数组的方式
2. constructor 指定建立地象原型(prototype)函数
3. index 代表数组组件的索引值
4.prototype 用以建立自定义的对象属性
数组方法:
toString 将数组转为String
concat 方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。array1.concat([item1[, item2[, . . . [, itemN]]]])
join 方法 :返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。arrayObj.join(separator) 与C#不同的是这里是直接通过数组调用出来返回给一个字符串.
split 方法 :返回数组 基本和C#一样 var s="1_2_3"; var ary=s.split("_"); 参数是字符串而不是字符
pop 方法 :移除数组中的最后一个元素并返回该元素。arrayObj.pop()
push 方法 :将新元素添加到一个数组中,并返回数组的新长度值。arrayObj.push([item1 [item2 [. . . [itemN ]]]])
reverse 方法 :返回一个元素顺序被反转的 Array 对象。arrayObj.reverse( ) 注意这里是返回一个原来的数组而不是创建了一个新的数组.
shift 方法 :移除数组中的第一个元素并返回该元素。arrayObj.shift( )
slice 方法 :返回一个数组的一段。arrayObj.slice(start, [end])
sort 方法 :返回一个元素已经进行了排序的 Array 对象。arrayobj.sort(sortfunction)
如果 sort()里面没有参数那么将按照字母顺序排列
如果要用从大到小顺序排列里面需要带参数sort(function(a,b){return b-a});
splice 方法 :从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
unshift 方法 :将指定的元素插入数组开始位置并返回该数组。arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]]) 在IE下无效,返回undefined fox下可以
alert(arr01.split(“”).reverse().join(“”));//先将每个字符分割为一个数组,然后反序数 组,最后将数组无连接符的转化为字符串,反转数组的字符
数组的三种清空方法:
方式1,splice
目前
Prototype中数组的 clear 和mootools库中数组的 empty 使用这种方式清空数组。
这里其实并不能说是严格意义的清空数组,只是将ary重新赋值为空数组,之前的数组如果没有引用在指向它将等待垃圾回收。
Ext库Ext.CompositeElementLite类的 clear 使用这种方式清空。
清空方式的选择:
由于第三种它只是重新给数组赋值,将其覆盖。并不是真正意义的清空,所以他的效率比较高。第一种过于繁琐,而第二种是真的清空,又很简单,所以一般使用推荐第二种。
定义数组:
var arr = new Array(12);
arr[10] = “cmc”;
var arr = new Array(); //无法确定一个数组的长度时
var arr = [“chen”,”liu”,”huang”];
var arr = new Array( [“chen”,”liu”,”huang”]);
var a = new Array(5); //指创建长度为5的数组
var a = new Array([5]); //指创建一个数组,长度为1,并且第一位是5
数组属性:
1. length属性:Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。和其他大多数语言不同的是,
JavaScript数组的length属性是可变的,这一点需要特别注意。arr.length=0;,这就是一种清空js数组的方式
2. constructor 指定建立地象原型(prototype)函数
3. index 代表数组组件的索引值
4.prototype 用以建立自定义的对象属性
数组方法:
toString 将数组转为String
concat 方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。array1.concat([item1[, item2[, . . . [, itemN]]]])
join 方法 :返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。arrayObj.join(separator) 与C#不同的是这里是直接通过数组调用出来返回给一个字符串.
split 方法 :返回数组 基本和C#一样 var s="1_2_3"; var ary=s.split("_"); 参数是字符串而不是字符
pop 方法 :移除数组中的最后一个元素并返回该元素。arrayObj.pop()
push 方法 :将新元素添加到一个数组中,并返回数组的新长度值。arrayObj.push([item1 [item2 [. . . [itemN ]]]])
reverse 方法 :返回一个元素顺序被反转的 Array 对象。arrayObj.reverse( ) 注意这里是返回一个原来的数组而不是创建了一个新的数组.
shift 方法 :移除数组中的第一个元素并返回该元素。arrayObj.shift( )
slice 方法 :返回一个数组的一段。arrayObj.slice(start, [end])
sort 方法 :返回一个元素已经进行了排序的 Array 对象。arrayobj.sort(sortfunction)
如果 sort()里面没有参数那么将按照字母顺序排列
如果要用从大到小顺序排列里面需要带参数sort(function(a,b){return b-a});
splice 方法 :从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
unshift 方法 :将指定的元素插入数组开始位置并返回该数组。arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]]) 在IE下无效,返回undefined fox下可以
alert(arr01.split(“”).reverse().join(“”));//先将每个字符分割为一个数组,然后反序数 组,最后将数组无连接符的转化为字符串,反转数组的字符
数组的三种清空方法:
方式1,splice
var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了方式2,length赋值为0
目前
Prototype中数组的 clear 和mootools库中数组的 empty 使用这种方式清空数组。
int[] ary = {1,2,3,4}; ary.length = 0;方式3,赋值为[]
这里其实并不能说是严格意义的清空数组,只是将ary重新赋值为空数组,之前的数组如果没有引用在指向它将等待垃圾回收。
Ext库Ext.CompositeElementLite类的 clear 使用这种方式清空。
var ary = [1,2,3,4]; ary = []; // 赋值为一个空数组以达到清空原数组
清空方式的选择:
由于第三种它只是重新给数组赋值,将其覆盖。并不是真正意义的清空,所以他的效率比较高。第一种过于繁琐,而第二种是真的清空,又很简单,所以一般使用推荐第二种。
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享