js数组
2016-07-30 10:23
363 查看
数组定义的方式:
var arr=[1,2,3];var arr=new Array(1,2,3);
var arr=new Array(5);//定义长度为5的数组(括号中放内容时,表示数组内添加的内容。括号内放的是数字,则表示定义数组长度)
清除数组方法:
清除数组方法一:令数组长度为0. 即arr.length=0
清除数组方法二:arr=[];重新赋一个空d数组
数组添加方法:
arr.push('abc');//在数组后面添加元素,该方法有返回值,返回的是新的数组长度
arr.unshift(0);//在数组前面添加元素,该方法有返回值,返回的是新的数组长度,但是IE6 IE7不支持unshift返回值
数组删除方法:
arr.pop();//删除数组中的最后一个元素,返回值是被删除的最后一个元素值
arr.shift();//删除数组中的第一个元素,返回值是被删除的第一个元素值,后面的元素会前移比当前索引1的位置。
arr.splice(删除开始的位置索引值,删除的个数);//返回删除的元素值
例:var arr=[1,2,3,4,5];
arr.splice(2);//返回 [4,5] 此时 arr=[1,2,3]
delete arr[1];删除数组中的元素,与为该删除索引地方为其赋undefined值类似,不会改变数组长度length。也不会使删除后的元素前移位填充。
数组的替换:
arr.splice(删除开始的位置索引值,删除的个数,‘替换的值’);//返回删除的元素值
例:var arr=[1,2,3,4,5];
arr.splice(2,2,[1,2],8);//返回:[3,4];此时arr=[1,2,[1,2],8,5]
数组的添加:
arr.splice(添加的位置索引值,0,‘添加的元素’,‘可以添加多个’);//0表示没有删除元素,所有返回值为空
返回指定数组的一个片段或者子数组:
arr.slice();
例:var arr=[1,2,3,4,5];
arr.slice(0,3);//返回[1,2,3]
arr.slice(3);//返回[4,5]
arr.slice(1,-1);//返回[2,3,4] ----(-1表示从后往前数第一个,即倒数第一个)
arr.slice(-3,-2);//返回[4]----(-3表示倒数第3个,-2表示倒数第二个)
小技巧:
可以利用这个方法实现数组中的元素前后交换:
arr.unshift(arr.pop());
arr.push(arr.shift());
数组去重:
方法一:
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
arr.splice(j,1);
j--;
}
}
}
数组的连接:
arr.concat();//创建并返回一个新数组
例:
var arr=[1,2,3]
arr.concat(4,5);//返回:[1,2,3,4,5]
arr.concat([4,5]);返回:[1,2,3,4,5]
要把数组arr1与arr2连接: arr1.concat(arr2);
要把数组arr1,arr2,arr3 连接: arr1.concat(arr2,arr3);
arr.concat(4,[5,[6,7]]);//返回:[1,2,3,4,5[6,7]] concat()不会递归扁平化数组的数组
数组的反转:
arr.reverse();
将字符串变为数组:
arr.split('');
例:
var str='abcdef';
alert(str.split(''));
执行结果:a,b,c,d,e,f
数组变为字符串:
将数组中所有元素转变为字符串并连接在一起,返回最后生成的字符串:
arr.join();
例:var arr=[1,2,3]
arr.join();//结果:1,2,3
arr.join("");//结果:123
arr.join(" ");//结果:1 2 3
arr.join("-");//结果:1-2-3
数组的反转:
arr.reverse();
例:反转字符串:
var str='abcdef';
alert(str.split('').join(''));
数组的遍历:
forEach()
var arr=[1,2,3,4,5];
var sum=0;
arr.forEach(function(value){
sum+=value;
});//结果sum=15
map():方法
将调用的数组每个元素传递给指定函数,并返回一个数组,它包含该函数的返回值。不修改调用的数组
例:a=[1,2,3];
b=a.map(function(x){
return x*x;
});//结果b是[1,4,9]
相关文章推荐
- js split函数用法总结
- web框架学习前复习——jsDom
- javascript回到顶部特效
- c json解析jansson
- JavaScript:exec()方法的用法及说明
- JavaScript概述
- js实现继承的三种方式
- JSP/SERVLET入门教程--Servlet 使用入门
- javascript鼠标滑过显示二级菜单特效
- Js中 call、aplly的使用和拓展
- javaScript 时间日期对比
- json数据格式 与 for in
- js数组的操作
- js正则表达式用法大全
- js点击按钮,放大对应图片代码
- jsp:forward跳转action 404错误
- JSP 取list的长度
- js 单次循环判断数组中是否存在重复值
- js触发按钮点击事件
- JS 常用字符串,数组操作