数组方法
- push()在数组末尾添加一个或者多个数组元素
- unshift()在数组前添加一个或者多个数组元素
- pop()删除数组最后一个元素
- shift()删除数组第一个元素
- reverse()翻转数组
- sort()数组排序(冒泡排序)
- indexOf()在数组中查找需要元素的索引,找不到返回-1
- lastIndexOf()在数组中查找需要元素的索引,从后面开始查找
- toString()把数组转换为字符串,逗号分隔每个项
- join()把数组转换为字符串,可以修改分隔符
- splice()拼接位置,删除,添加
- slice() 方法用数组的某个片段切出新数组。裁剪数组
- concat() 方法通过合并(连接)现有数组来创建一个新数组
- forEach() 遍历数组,在参数中传入回调
- map() 数组的映射,传参与forEach()方法一致
- some() 数组的查找匹配,只要满足部分条件就可以,返回布尔值,传参与forEach()方法一致
- every() 数组的查找匹配,只要满足所有条件,返回布尔值,传参与forEach()方法一致
- filter() 数组的查找,返回满足条件的数组项,传参与forEach()方法一致
- reduce() 数组的汇总处理,返回满足条件的数组项,第一个参数是上一次回调的返回值,第二个参数是遍历数组中的每一项的值,第三个参数是当前元素的索引,第四个参数是当前元素所属的数组对象
- ES6方法 ...扩展运算符
- Array.from()用于将类数组对象(伪数组)或者可遍历对象转正真数组,必备条件:类数组对象必须具有length属性,类数组对象的属性必须为数值型或者字符串型的数字
- 遍历数组方法keys()对键名遍历(下标)丶values()对键值遍历(值)和entries()对键值对的遍历,需要配合for循环
push()在数组末尾添加一个或者多个数组元素
var arr = [1,2,3];
arr.push(4,5,6);
console.log(arr);//结果[1,2,3,4,5,6]
//1.数组可以给新数组添加新的元素
//2.push()参数直接写要添加的数组元素
//3.push()完毕返回是新数组的长度,原数组也会变化
unshift()在数组前添加一个或者多个数组元素
var ary =[1,2,3];
ary.unshift(4,5,6);
console.log(ary)//结果[4,5,6,1,2,3]
//1.数组可以给新数组添加新的元素
//2.unshift()参数直接写要添加的数组元素
//3.unshift()完毕返回是新数组的长度,原数组也会变化
pop()删除数组最后一个元素
var ary =[1,2,3,4];
ary.pop();
console.log(ary)//结果1,2,3
//1.删除数组最后一个元素,只能删除一个
//2.pop()没有参数,返回的结果是删除的那个元素
//3.原数组会发生变化
shift()删除数组第一个元素
var ary =[1,2,3,4];
ary.shift();
console.log(ary)//结果2,3, 4
//1.删除数组第一个元素,只能删除一个
//2.shift()没有参数,返回的结果是删除的那个元素
//3.原数组会发生变化
reverse()翻转数组
var ary = [1,2,3,4];
ary.reverse();
console.log(ary);//结果4 , 3 , 2 , 1
sort()数组排序(冒泡排序)
var ary =[6,5,3,1];
ary.sort();
console.log(ary);//结果1 , 3 , 5 , 6
//上面排序只适用于个位数排序
//如果:
var ary = [13,4,77,1,7,]
ary.sort(function(a,b){
return a-b;//升序方法
//return b-a //降序方法
});
cosole.log(ary);//结果1 , 4, 7, 13, 77
indexOf()在数组中查找需要元素的索引,找不到返回-1
var ary =["张三","李四","王五","赵六","七七"];
console.log(indexOf("李四"));//结果1
//从前向后,只返回第一个满足条件的索引号
//如果找不到返回-1
//*****第二个值默认不用给,给了是起始的位置
lastIndexOf()在数组中查找需要元素的索引,从后面开始查找
var ary =["张三","李四","王五","赵六","王五"];
console.log(lastIndexOf("王五"));//结果4
//从后向前找,只返回第一个满足条件的索引号
//如果找不到返回-1
//*****第二个值默认不用给,给了是起始的位置
toString()把数组转换为字符串,逗号分隔每个项
var ary =['1','2','3'];
console.log(ary.toString());//结果1, 2, 3
join()把数组转换为字符串,可以修改分隔符
var ary =['1','2','3'];
console.log(ary.join('-'));//结果1-2-3
splice()拼接位置,删除,添加
var arr = ["aaa", "bbb", "ccc", "ddd"];
arr.splice(2, 0, "ttt", "ppp");
cosole.log(arr)//结果:[aaa,bbb,ttt,ppp,ccc,ddd]
第一个参数(2)定义了应添加新元素的位置(拼接)。
第二个参数(0)定义应删除多少元素。
其余参数(“ttt”,“ppp”)定义要添加的新元素。
splice() 方法返回一个包含已删除项的数组:
slice() 方法用数组的某个片段切出新数组。裁剪数组
var arr = ["a", "b", "c", "d", "e"];
var ary = arr.slice(1);//["b", "c", "d", "e"]
slice() 方法创建新数组。它不会从源数组中删除任何元素
slice() 可接受两个参数,比如 (1, 3)。
该方法会从开始下标截取元素,直到结束下标(不包括结束下标)为止。
concat() 方法通过合并(连接)现有数组来创建一个新数组
var ary = ["aaa", "bbb"];
var arr = ["ccc", "ddd", "eee"];
var ary = ary.concat(arr); // 连接 ary 和 arr
//concat() 方法不会更改现有数组。它总是返回一个新数组。
//concat() 方法可以使用任意数量的数组参数
//concat() 方法也可以将值作为参数
forEach() 遍历数组,在参数中传入回调
var arr = ["ccc", "ddd", "eee"];
arr.forEach(function(item,index,array){//item每项的内容,index该数组的下标,array返回该数组
console.log(item);
console.log(index);
console.log(array);
})
map() 数组的映射,传参与forEach()方法一致
var arr = [2, 4, 6, 8, 10];
var arr2 = arr.map(function(item,index,array){
return item*item;
});
console.log(arr2);//[4, 16, 36, 64, 100]
some() 数组的查找匹配,只要满足部分条件就可以,返回布尔值,传参与forEach()方法一致
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.some(function(item,index,array) {
return item < 3;
});
console.log(arr2);//true
every() 数组的查找匹配,只要满足所有条件,返回布尔值,传参与forEach()方法一致
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.every(function(item,index,array) {
return item < 10;
});
console.log(arr2);//true
filter() 数组的查找,返回满足条件的数组项,传参与forEach()方法一致
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.filter(function(item,index,array) {
return item < 5;
});
console.log(arr2);//[1, 2, 3, 4]如果没有找到满足的项,返回空数组
reduce() 数组的汇总处理,返回满足条件的数组项,第一个参数是上一次回调的返回值,第二个参数是遍历数组中的每一项的值,第三个参数是当前元素的索引,第四个参数是当前元素所属的数组对象
var arr=[2,8,10,16]
var sum = arr.reduce((preData,item,index)=>{
return preData + item
//preData==0 item==2
//preData==2 item==8
//preData==8 item==10
//preData==10 item==16
},0)//传递给函数的初始值
console.log(sum);//36
ES6方法 …扩展运算符
var arr = [1, 2, 3, 4, 5];
console.log(...arr);//1 2 3 4 5 //转换成字符集
Array.from()用于将类数组对象(伪数组)或者可遍历对象转正真数组,必备条件:类数组对象必须具有length属性,类数组对象的属性必须为数值型或者字符串型的数字
var obj={
"0":22,
"1":"李",
"2":"5",
"length":3
}
let arr =Array.from(obj);
console.log(arr);//[22, "李", "5"]
遍历数组方法keys()对键名遍历(下标)丶values()对键值遍历(值)和entries()对键值对的遍历,需要配合for循环
for (let index of ["张三", "李四"].keys()) {
console.log(index);//0 1
}
for (let index of ["张三", "李四"].values()) {
console.log(index);//张三 李四
}
for (let index of ["张三", "李四"].entries()) {
console.log(index);//[0,张三] [1,李四]
}