一直在使用js相关的东西,但很少作总结,今天遇到操作js数组的一些问题,对js的数组有了更进一步的认识!
1、创建数组
var array = new Array();
var array = new Array(size);//指定数组的长度
var array = new Array(item1,item2……itemN);//创建数组并赋值
2、取值、赋值
var item = array[index];//获取指定元素的值
array[index] = value;//为指定元素赋值
3、添加新元素
array.push(item1,item2……itemN);//将一个或多个元素加入数组,返回新数组的长度
array.unshift(item1,item2……itemN);//将一个或多个元素加入到数组的开始位置,原有元素位置自动后移,返回 新数组的长度
array.splice(start,delCount,item1,item2……itemN);//从start的位置开始向后删除delCount个元素,然后从start的位置开始插入一个或多个新元素
4、删除元素
array.pop();//删除最后一个元素,并返回该元素
array.shift();//删除第一个元素,数组元素位置自动前移,返回被删除的元素
array.splice(start,delCount);//从start的位置开始向后删除delCount个元素
5、数组的合并、截取
array.slice(start,end);//以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素 array.concat(array1,array2);//将多个数组拼接成一个数组
6、数组的排序 array.reverse();//数组反转 array.sort();//数组排序,返回数组地址
7、数组转字符串 array.join(separator);//将数组原因用separator连接起来 列了这么都就是没有发现删除数组元素的方法!于是查了一些资料找到了解决方法。 删除数组元素需要扩展Array原型prototype.
Array.prototype.findNo = function(val) {//数组中是否存在值val,若存在,返回索引值,若不存在,返回-1
for (var i = 0; i < this.length; i++) {
if (this[i] == val)
return i;
}
return -1;
}
Array.prototype.removeNo = function(dx) {//移除数组中的特定值dx(dx为索引值)
if(isNaN(dx)||dx>this.length){
return false;
}
for(var i=0,n=0;i<this.length;i++){
if(this[i]!=this[dx]){
this[n++]=this[i]
}
}
this.length-=1
}
Array.prototype.isInclude = function(n) {//判断值n是否在数组中
if(isNaN(n)||this.length<0){
return false;
}
for(var i=0; i<this.length; i++){
if(this[i] == n){
return true;
}
}
return false;
}