这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本篇文章主要介绍了谈谈 JavaScript 数组常用方法总结,在 JavaScript 中,我们需要时常对数组进行操作。一起跟随小编过来看看吧
在 JavaScript 中,我们需要时常对数组进行操作,现在特将常用方法总结如下:
1. 增加数据
在 JavaScript 为数组增加数据主要分为两种方式。
从数组末尾增加内容:push 方法
从数组的前端增加内容:unshift 方法
这两种方法的返回值都是数组的长度
- var arr=[1,2,3];
- //从末尾增加
- arr.push(4);
- console.log(arr);//[1,2,3,4]
- //从前端增加
- arr.unshift(0);
- console.log(arr);//[0,1,2,3,4]
2. 删除数据
和增加数据一样,删除数据和主要分为两种方式。
从数组末尾增加内容:pop 方法
从数组的前端增加内容:shift 方法
这两种方法的返回值都是删除的数据
- var arr=[1,2,3];
- //从末尾删除
- arr.pop();
- console.log(arr);//[1,2]
- //从前端删除
- arr.unshift();
- console.log(arr);//[2]
3. 从指定位置删除和增加数据
splice(startIndex,deleteCount,addValue1,addValue2...): 从数组的 startIndex 位置开始, 删除 deleteCount 个数据,然后在插入 addValue1,addValue2 等, 返回值是被删除的数组所组成的数组。
- var arr=[1,2,3,4,5];
- var deleteArr=arr.splice(1,2,8,9);
- console.log(deleteArr);//[2,3]
- console.log(arr);//[1,8,9,4,5]
从上面所知,数组的删除方法返回的都是被删除的内容,增加的方法返回的都是数组改变后的长度。
4. 反序数组
reverse(): 将数组内容逆序。
- var arr = [1, 2, 3];
- arr.reverse();
- console.log(arr); //[3,2,1]
5. 将数组内容组成一个有特定分隔符的字符串
join(seperator): 将数组内容组成一个字符串,内容以 seperator 分隔
- var arr = [1, 2, 3];
- arr.join(',');
- console.log(arr); //1,2,3
6. 合并两个数组
concat(): 合并数组并返回一个新的数组,不影响原有数组。
- var arr1 = [1, 2, 3];
- var arr2 = [4, 5, 6];
- var newArr = arr1.concat(arr2);
- console.log(arr1); //[1,2,3]
- console.log(arr2); //[4,5,6]
- console.log(newArr); //[1,2,3,4,5,6]
7. 数组排序
sort(): 默认将数组进行数字或字母进行升序排序,但也可以自定义降序排序
- var arr=[3,5,1];
- arr.sort();
- console.log(arr);//[1,3,5];
- //指定降序
- var arr1=[4,2,7];
- arr1.sort(function(a,b){
- return b-a;
- })
- console.log(arr1);//[7,4,2]
8. 截取子数组
slice(startIndex,endIndex): 截取数组中从 startIndex 到 endIndex 之间的内容,不包括 endIndex 所在位置的内容组成一个新的数组
- var arr = [1, 2, 3, 4, 5, 6];
- var newArr = arr.slice(1, 3);
- console.log(arr); //[1,2,3,4,5,6]
- console.log(newArr); //[2,3]
9. 判断给定数据在数组中的位置
indexOf(data): 该方法返回 data 在该数组中所在的第一个元素位置,如果没有找到就返回 - 1
- var arr=[1,2,3];
- var loc=arr.indexOf(1);
- console.log(loc);//0
- var newLoc=arr.indexOf(4);
- console.log(newLoc);//-1
10. 迭代器
数组的迭代器方法很多。
a. 普通的遍历数组:forEach(function(value,index,arr){}), 其中 index 是索引,value 是值,arr 就是数组本身
- var arr=[1,2,3];
- //index是索引,value是值
- arr.forEach(function(value,index,arr){
- console.log(''index:"+index+" "+"value:"+value)
- })
b. 过滤数组:filter(), 根据过滤条件过滤数组,但不会改变原有数组
- var arr = [1, 2, 3, 4];
- //返回数组中大于2的内容
- var newArr = arr.filter(function(item) {
- return item > 2;
- })
- console.log(arr); //[1,2,3,4]
- console.log(newArr); //[3,4]
c. 映射数组:map(), 对数组每个元素进行一定映射后,返回一个新数组,不会改变原有数组
- var arr = [1, 2, 3, 4];
- //将数组每个值扩大一倍
- var newArr = arr.map(function(item) {
- return item * 2;
- });
- console.log(arr); //[1,2,3,4]
- console.log(newArr); //[2,4,6,8]
来源: http://www.phperz.com/article/17/0512/328145.html