谈谈JavaScript数组常用方法总结

在JavaScript中,我们需要时常对数组进行操作,现在特将常用方法总结如下:

1.增加数据

在JavaScript为数组增加数据主要分为两种方式。

从数组末尾增加内容:push方法

从数组的前端增加内容:unshift方法

这两种方法的返回值都是数组的长度

rush:js;"> var arr=[1,2,3]; //从末尾增加 arr.push(4); console.log(arr);//[1,3,4]

//从前端增加
arr.unshift(0);
console.log(arr);//[0,1,4]

2.删除数据

增加数据一样,删除数据和主要分为两种方式。

从数组末尾增加内容:pop方法

从数组的前端增加内容:shift方法

这两种方法的返回值都是删除的数据

rush:js;"> var arr=[1,3]; //从末尾删除 arr.pop(); console.log(arr);//[1,2]

//从前端删除
arr.unshift();
console.log(arr);//[2]

3.从指定位置删除增加数据

splice(startIndex,deleteCount,addValue1,addValue2...):从数组的startIndex位置开始,删除deleteCount个数据,然后在插入addValue1,addValue2等,返回值是被删除的数组所组成的数组。

rush:js;"> var arr=[1,4,5]; var deleteArr=arr.splice(1,8,9);

console.log(deleteArr);//[2,3]
console.log(arr);//[1,9,5]

从上面所知,数组的删除方法返回的都是被删除内容增加方法返回的都是数组改变后的长度。

4.反序数组

reverse():将数组内容逆序。

rush:js;"> var arr=[1,3]; arr.reverse(); console.log(arr);//[3,1]

5.将数组内容组成一个有特定分隔符的字符串

join(seperator):将数组内容组成一个字符串,内容以seperator分隔

rush:js;"> var arr=[1,3]; arr.join(','); console.log(arr);//1,3

6.合并两个数组

concat():合并数组并返回一个新的数组,不影响原有数组。

rush:js;"> var arr1=[1,3]; var arr2=[4,5,6];

var newArr=arr1.concat(arr2);

console.log(arr1);//[1,3]
console.log(arr2);//[4,6]
console.log(newArr);//[1,6]

7.数组排序

sort():认将数组进行数字或字母进行升序排序,但也可以自定义降序排序

rush:js;"> var arr=[3,1];

arr.sort();

console.log(arr);//[1,5];

//指定降序
var arr1=[4,7];
arr1.sort(function(a,b){
return b-a;
})
console.log(arr1);//[7,2]

8.截取子数组

slice(startIndex,endindex):截取数组中从startIndex到endindex之间的内容,不包括endindex所在位置的内容组成一个新的数组

rush:js;"> var arr=[1,6];

var newArr=arr.slice(1,3);

console.log(arr);//[1,6]
console.log(newArr);//[2,3]

9.判断给定数据在数组中的位置

indexOf(data):该方法返回data在该数组中所在的第一个元素位置,如果没有找到就返回-1

rush:js;"> var arr=[1,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就是数组本身

rush:js;"> var arr=[1,3];

//index是索引,value是值
arr.forEach(function(value,arr){
console.log(''index:"+index+" "+"value:"+value)
})

b.过滤数组:filter(),根据过滤条件过滤数组,但不会改变原有数组

//返回数组中大于2的内容
var newArr=arr.filter(function(item){
return item>2;
})

console.log(arr);//[1,4]
console.log(newArr);//[3,4]

c.映射数组:map(),对数组每个元素进行一定映射后,返回一个新数组,不会改变原有数组

rush:js;"> var arr=[1,4];

//将数组每个值扩大一倍
var newArr=arr.map(function(item){
return item*2;
});

console.log(arr);//[1,4]
console.log(newArr);//[2,6,8]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...