数组的方法(15个)
对象数据类型;
数组成员有一个与之对应的索引
length : 代表数组成员的个数;
操作改变数组一些方法;这些数组的方法都是内置的;
// 1. 方法作用;
// 2. 方法的参数
// 3. 方法返回值
// 4. 原有的数组是否发生改变;
1.push
1): 向数组末尾新增一项;
2): 参数是新增的那一项;可以传多个;
3): 新数组的数组成员的个数;
4): 原有数组发生改变;
var ary = [12,89,89,36,0,"dsh",true,99]; ary.push(100) ary[ary.length] = 100; console.log(ary);
2.pop
1) : 删除数组的最后一项
2) : 不需要传参数
3) : 被删除的那一项
4) : 原有数组发生改变;
ary.pop(); delete ary[ary.length-1] console.log(ary[7]); ary.length--;
3:unshift
1): 向数组开头新增一项;
2): 需要传参数
3): 新数组的数组成员个数
4): 原有数组发生改变;
ary.unshift(12); console.log(ary);
4.shift
1): 删除数组的第一项
2): 不需要传参
3): 被删除的那一项
4): 原有数组的发生改变;
ary.shift();
5.slice
1) : 数组的截取
2) :slice(m,n): 从数组索引m开始,截取到索引n,但是不包含n;[前包后不包]
slice(m) : 从索引m开始,截取到末尾;
slice():数组的克隆 slice(0);
// 索引负数: 让当前length+负数;
3) : 返回值是截取的数组
4) : 原有数组不发生改变;
var ary = [12,89,89,36,0,"dsh",true,99]; ary.slice()// 不传参;复制克隆 ary.slice(1)// 从索引1开始,截取到数组的末尾 ary.slice(2,6)// 从索引2开始,截取到索引8;但是不包含8; //支持负数 ary.slice(6,4) // []
6.splice
1) : 删除数组中的某几项
2) : splice(m,n): 从索引开始,删除n个
splice(m) : 从索引m开始删除到末尾;
splice(0):
splice(m,x,n);替换从索引m开始,删除x个,用n替换;
3): 返回值;删除那几项,并且以数组返回
4) : 原有数组发生改变;
ary.splice(0);// 从索引0开始,删除到数组的末尾 ary.splice(1,4) // 从索引1开始,删除4项 ary.splice(1,3,5,19)// 替换 ary.splice(1,0,5)// 在索引1的前面新增一项数字5; console.log(ary);
7.sort
1) : 数组排序
2) :参数
- 1.sort() : 只能数组成员是相同位数的数组
- 2.sort(function(a,b){return a-b}) 从小到大排序
- 3.sort(function(a,b){return b-a})从大到小
3) : 是排序之后的数组
4) : 原有数组发生改变;
ary.sort() : 只能排数组成员位数相同的数组; var ary = [12,8,99,67,85,1,35,66,"78"]; var ary = [1,8,5,3,2]; var ary = [123,678,987,567,345,234]; ary.sort(function (a,b) { return a-b; }); var newAry = ary.sort(function (a,b) { return b-a; }); console.log(newAry);
8.reverse
1): 将数组颠倒过来
2): 不需要传参数
3): 数组成员顺序倒过来之后的数组
4): 原有发生改变;
console.log(ary.reverse()); console.log(ary);
9.concat :
1) : 数组的拼接
2) :
- 1.不传参数: 数组的克隆
- 2.传参数,(数组、每一项);把传入的实参拼接新的数组中;
3) : 拼接之后的新数组
4) : 原有数组不发生改变;
var ary = [12,8,99,67,66,66,85,1,35,66,"78",66]; var ary1 =[1,2,3] console.log(ary.concat([100,200,null])); var a = ary.concat(); console.log(ary.concat());
10.join
1) : 把数组成员按照特定的字符连接成一个字符串;
2) :
- 1.不传参数,会默认按照逗号分开
- 2.传参数,(特定的字符)
3) : 拼接之后的字符串
4) :原有数组不发生改变;
console.log(ary.join("+"));//"12+8+99+67+85+1+35+66+78" console.log(ary.join(""));//"1289967851356678" console.log(ary.join());//"12,8,99,67,85,1,35,66,78"
11.indexOf
1) : 检测数组成员在数组中第一次出现的索引位置; 判断当前项是否在数组中存在;如果不存在,返回-1;
2): 需要参数
3): 返回在数组中第一次出现的索引;
4): 原有数组不发生改变;
console.log(ary.indexOf(66)); console.log(ary.indexOf(666)); console.log(ary.indexOf(888));
12.lastIndexOf
1) : 检测数组成员在数组中最后一次出现的索引位置; 判断当前项是否在数组中存在;如果不存在,返回-1;
2): 需要参数
3): 返回在数组中最后一次出现的索引;
4): 原有数组不发生改变;
console.log(ary.lastIndexOf(66));
13 .map
1) : 遍历数组和映射
2): 需要参数
3) : 映射之后的数组
4): 原有数组不发生改变;
var ary = [12,8,99,67,66,66,85,1,"78",66]; var total= null; var mn = ary.map(function (item,index) { console.log(item);//遍历数组;第一个参数就是数组成员 console.log(index);// 代表数组成员的索引 return "<li></li>>"; // 求和 total +=Number(item); console.log(total); console.log(mn);
14.forEach
1) : 遍历数组;没有返回值;
2) : 需要参数
3) : 返回值是undefined
4) : 原有数组不发生改变;
var bhh = ary.forEach(function (item,index) { console.log(item); return 10; }) console.log(bhh);//undefined console.log(ary);
15.toString
1) : 转字符串
2) : 不需要参数
3) : 返回一个去了中括号之后的字符串
4) : 原有数组不变;
var ary = [1,23,8,9,90] console.log(ary.toString());// "1,23,8,9,90" console.log([12].toString());// "12" console.log([].toString());// "" console.log(ary);
原文地址:https://www.cnblogs.com/CCxi/p/9449151.html