最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊,为了在以后的工作中写出最优化的代码,我们必须要不断的充电,不断的提高自己的技能。
废话不多说,现在我将最近看的有关arry的一些心德和使用分享出来,希望能够给大家带来小小的一点帮助。谢谢!
可以这样说Arry应该是我们在平时写js代码中,使用频率最高的,在平时的项目中,很多数据都是可以通过arry来存储、操作等任务。
在js中有关Arry数组与我们平时接触的语言也会有着相当大的区别。js中的arry中所存放的数据比较灵活,可以再通过一arry中存放不同类型的数据,同时arry中的数组成都也是动态改变的,arry的长度会根据数组中的数据进行实时的动态改变。
1、Arry的定义方式也有两种方式
方式1、
var arr1=new Array();
var arr2=new Array(10);
var arr3=new Array("dkjsl","7",787); 其实new关键字是可以省略的
方式2、
var arr1=[];
var arr2=[45,45,78,45];
2、检测验证数组
在平时项目开发中,我们往往会遇到,判断一个对象是否为数组(函数的参数传递中),那么如果判断一个对象是否为数组呢,有以下两种方式
方式1、
if(value instanseof Array){
}
方式2、
if(Array.isArray(value)){
}//该方法只使用与高版本的浏览器:IE9+、Firefox4+/Chrome
3、将数组转换为字符串
value.toString(); value.valueOf();------返回的字符串是将数组中的值用‘,‘连接起来
value.jion('-');----返回的字符串可以用户自定义连接的方式
4、数组模拟栈和队列操作
栈操作的方式:先进后出原则----通过重数组尾部添加数据项,然后在从数组的尾部获取尾部数据项
push();----就是在数组的尾部添加数据项,该方法的参数个数可以自定义
pop();---该方法就是获取数组的最尾部的一个数据项,该函数无需传递任何参数
队列操作的方式:先进先出原则---通过从数组的头部插入数据和获取数据项来模拟实现
shift();---获取数组的头部一项的数据信息
unshift();--与shift完全相反,就是向数组的头部插入数据项信息
5、数组的排序操作
js中提供的数组排序的函数有两个:reverse()----直接倒序排列
sort()-----顺序排列数组的项(是按照字符串排序方式)
只利用js提供的两种排序方式完全不能满足平时项目的要求,为此我们可以采用扩张方式来实现对数组的倒序和顺序方式排序;
function compareUp(value1.valu2){ //升序
return value1-valu2;
}
function compareDown(value1.valu2){//降序
return -value1+valu2;
}
value.sort(compareUp/compareDown);
6、其他操作方法
组合:就是在一个或者多个数组或者数据项组合到一个数组中 value.concat()
拆分获取:就是通过拆分获取数组中指定的数据项---value.slice(startPlth,length)--当参数为负数时,会通过数组的长度与参数求和得到新的参数
删除插入法:删除和插入都是用同一个方法来实现--splice(),通过用户传入的参数来实现删除和插入
参数1:删除插入的开始位置
参数2:删除的数据个数
参数3---n:要插入的数据项
当用户要实现删除操作时,只需传入参数1和参数2即可
当用户需要实现插入操作时,只需要将参数2设置为0即可
位置方法:就是查找元素在数组中的位置--index()--从头部开始搜索 lastindex()---从尾部开始搜索 返回搜索到元素第一次出现的位置