数组的添加方法
1.向数组的末尾添加:push;
语法:arr.push(val1,val2,val3,…)
功能:向数组的末尾添加一个或多个值
返回值:push方法的返回值是新数组的长度;
说明:这个方法会改变原数组;
2.向数组的头部添加:unshift
语法:arr.unshift(val1,val2…)
功能:向数组的头部添加一个或多个值
返回值:unshift方法的返回值是新数组的长度;
说明:这个方法会改变原数组;
数组的删除方法
删除最后一项:pop
返回值
删除数组的第一项shift;
语法:arr.shift();
功能:删除数组的第一项
返回值:被删除的项;
说明:原数组被改变
万能法:splice()
删除功能
语法:arr.splice(index,num); //num表示删除的长度
功能:从下标index位置开始,删除num个元素;
返回值:被删除项组成的数组;
添加功能
语法:arr.splice(index,0,val1,val2…);
功能:在下标index位置,添加多个元素
返回值:空数组;[ ] 因为没有删除,所以数组为空
替换功能
语法:arr.splice(index,num,val1,val2…)
功能:先删除后添加; 从index 位置开始,先删除num个元素,再添加多个新元素;
返回值:被删除项组成的数组;
4.1.数组的反转:reverse
语法:arr.reverse();
功能:数组的反转;
返回值:反转后的数组;
说明:这个方法会改变原数组;
4.2.数组排序:sort
语法:arr.sort(function(a,b){return a-b});
功能:数组的排序:
说明:1)如果返回a-b,升序 返回b-a 降序;
2)如果sort方法不传参,表示按照字符串的方式排序;
3)这个方法会改变原数组;
第二个值减去第一个值
不传参
数组的合并 concat
语法:arr1.concat(arr2,arr3…);
功能:将多个数组内容拿出来,合并成一个新数组;
说明:不会改变原数组;
返回值:合并后的新数组;
语法:arr.slice(start,end);
返回值:返回截取的内容;
说明:1)slice的截取时,包含开始位置,不包含截取位置;
2)arr.slice(start,end);//从开始start位置截取到end位置,不包含结束位置
3)arr.slice(start);//从开始位置一直截取最后
4)arr.slice();//不传参:表示,截取整个数组;
5)slice();支持负值;
6)slice()不会改变原数组
传两个参数:
传一个参数
不参数:
参数为负值:
数组的查找方法
indexOf() 从前向后找
语法:arr.indexOf(目标值(val),开始查找的位置(index));
功能:从index位置开始,向后查找val首次出现的位置,
返回值:如果找到,返回val的下标,如果找不到,返回-1;
说明:1)indexOf()不会改变原数组;
1)如果不传第二个参数,默认表示从下标为0开始查找;
lastIndexOf() 从后向前找
语法:arr.lastIndexOf(目标值(val),开始查找的位置(index));
功能:从index位置开始,向前查找val出现的位置;
返回值:如果找到,返回val的下标,如果找不到,返回-1;
说明:1lastIndexOf()不会改变原数组;
2如果不传第二个参数,默认表示从最后一个下标开始向前查找
数组转字符串 join:
语法:arr.join(“连接符”);
功能:将数组的每一项通过连接符,拼接为一个新字符串;
返回值:字符串;
说明:1join()不会改变原数组;
2当join()不传参数时,默认用逗号连接;
filter() 过滤
filter() 方法返回数组中满足条件的元素组成的新数组,原数组不变
filter()的参数是一个方法