forEach()
需要一个函数做参数:
- 像这种函数由我们创建但不由我们调用 成为回调函数
- 数组有几个元素 函数执行几次,每次执行时,浏览器会将遍历到的元素
- 以实参的形式传递进来 我们可以定义形参 来读取这些内容
- 浏览器会在回调函数中传3个参数
var arr=["孙悟空","唐僧","沙和尚","猪八戒"];
arr.forEach(function(value,index,obj){
console.log(value);//打印遍历到的值
console.log(index);//值对应的索引
console.log(obj); //打印整个数组
});
slice()
截取一个新数组:
var arr2=arr.slice(0,2);//返回一个新数组 包含开始索引 不包含结束索引
console.log(arr2);
arr2=arr.slice(1);//一个参数就是从当前到最后
console.log(arr2);
//可以传一个负数 表示倒数第几个
arr2=arr.slice(1,-1);
console.log(arr2);
splice()
splice影响原数组 并将指定元素从原数组中删除
并将删除的元素作为返回值返回:
arr2=arr.splice(0,2);//第一个表示开始位置的索引 第二个表示删除的数量
console.log(arr2);
console.log(arr);
push()和pop()
在尾部插入一个数据和在尾部删除一个数据
unshift()
在头部插入一个数据:
arr.unshift("唐僧");
arr.unshift("孙悟空");
console.log(arr);
shift()
删除数组第一个元素
splice重载
arr.splice(0,1,"牛魔王");//删除第一个元素并将牛魔王插入到第一个参数指定的位置
console.log(arr);
concat()
连接函数 可连接二个到多个
var arr=["孙悟空","猪八戒","沙和尚"];
var arr2=["孙悟空","猪八戒","沙和尚"];
var result=arr.concat(arr2);
console.log(result);
var arr3=["孙悟空","猪八戒","沙和尚"];
result=arr.concat(arr2,arr3,"牛魔王");
console.log(result);
join()
将一个数组转换成字符串
在join中可以指定一个参数作为字符串的连接符
不指定就为逗号
不影响原数组
result=arr.join();
console.log(result);
result=arr.join(".");
console.log(result);
reverse()
转置数组
arr.reverse();
console.log(arr);//影响原数组
sort()
排序数组
- 即使对纯数字排序也会按照Unicode编码排序
- 所以对纯数字排序可能会错误
- 我们可以自己指定排序规则
- 可以在sort函数中添加一个回调函数 来指定排序规则
- 回调函数中需要定义二个参数,
- 浏览器会分别使用数组中的元素作为实参去调用回调函数
- 返回大于0交换元素
- 返回小于0不交换
- 返回0 不交换
arr=["f","e","c","v"];
arr.sort();//影响原数组
console.log(arr);
arr=[3,11,4,7,8];
arr.sort();
console.log(arr);
arr=[5,4];
arr.sort(function(a,b){
/*if(a>b){
return 1;
}else if(a<b){
return -1;
}else{
return 0;
}*/
return b-a;
});
console.log(arr);
转载:https://blog.csdn.net/qq_42193790/article/details/104629652
查看评论