数组的方法
1.push尾部添加
功能:尾部添加一个或多个元素,改变原数组,生成新数组返回值:新数组的长度var arr=[1,2,"a"]
var rel=arr.push("A","b")
console.log(arr);// [1, 2, 'a', 'A', 'b'] 生成新数组
console.log(rel);//5 //返回数组的长度
2.unshift头部添加
功能:头部添加一个或多个元素,改变原数组,生成新数组返回值:新数组的长度var arr=[1,2,"a"]
var rel=arr.unshift("A","b")
console.log(arr);//['A', 'b', 1, 2, 'a'] 生成新数组
console.log(rel);//5 返回数组的长度
3.pop尾部删除
功能:删除数组中的最后一位返回值:返回的是被删除的数据var arr=[1,2,"a"]
var rel=arr.pop()
console.log(arr);//[1, 2] 生成新数组
console.log(rel);//a //返回被删掉的最后一位
4.shift头部删除
功能:删除数组中的第一位返回值:返回的是被删除的数据var arr=[1,2,"a"]
var rel=arr.shift()
console.log(arr);//[2, 'a'] 生成新数组
console.log(rel);//1 返回被删掉的第一位
5.reverse数组反转
功能:反转数组中的元素返回值:返回的是反转后的数组var arr=[1,2,3,"a","b","c"]
var rel=arr.reverse()
console.log(arr);//['c', 'b', 'a', 3, 2, 1] 改变原数组
console.log(rel);//['c', 'b', 'a', 3, 2, 1] 返回反转后的数组
6.sort排序
功能:对数组进行重新排序,默认是根据字符的Unicode进行排序返回值:返回新数组var arr=[1,4,3,8,6,"a","d","e","c"]
arr.sort()
console.log(arr);//[1, 3, 4, 6, 8, 'a', 'c', 'd', 'e']
7.splice指定删除
功能:在数组中的任意位置上删除指定的元素和个数返回值:被删掉的元素var arr=[1,'a','b',4,5]
var rel=arr.splice(1,2)
//里面有两个值,第一个值是下标,第二个值是要删除的个数,从下标1开始删除两个元素
console.log(arr);//[1,4,5]
console.log(rel);//['a','b']
8.concat拼接
功能:合并现有的数组创建出一个新的数组返回值:返回合并之后的数组
var arr=[1,2,3]
var arr1=['a','b','c']
var rel=arr.concat(arr1)
console.log(rel); //[1, 2, 3, 'a', 'b', 'c']
9.join拼接字符串
功能:通过特殊的字符拼接,默认是拼接为字符串返回值:返回拼接后的新数组
var arr=[1,2,3,4,5]
var rel=arr.join('')
var rel2=arr.join('-')
var rel3=arr.join('+')
console.log(rel);//12345
console.log(rel2);//1-2-3-4-5
console.log(rel3);//1+2+3+4+5
10.slice截取
功能:截取数组中指定位置的元素返回值:被截取的元素形成的新数组
var arr=[1,2,'a','b',3,'c']
var rel=arr.slice(0,3)//两个值,第一个是下标,第二个是要截取的个数
console.log(rel);// [1, 2, 'a']
11.toString转为字符串
功能:将数组转换为字符串,不改变原数组返回值:返回一个新数组
var list = ["a", "b", "c", "d"];
var rel = list.toString();
console.log(rel); // a,b,c,d (字符串类型)
12.valueOf查询数组原始值
功能:查询数组的原始值返回值:返回数组的原始值(一般情况下其实就是数组自身)
var arr = [1, 2, 3, 4];
var rel = arr.valueOf();
console.log(arr); // [1, 2, 3, 4]
console.log(rel); // [1, 2, 3, 4]
13.indexOf查询
功能:查询某个元素在数组中第一次出现的位置返回值: 存在该元素,返回下标,不存在 返回 -1 (可以通过返回值 变相的判断是否存在该元素)
var arr = [1, 2, 3, 4];
var index = arr.indexOf(4); //3
var index = arr.indexOf("4"); //-1
console.log(index);
14.lastldexOf反向查询
功能:查询某个元素在数组中最后一次出现的位置 (或者理解为反向查询第一次出现的位置)返回值:存在该元素,返回下标,不存在 返回 -1 (可以通过返回值 变相的判断是否存在该元素)
var arr = [1, 2, 3, 4];
var index = arr.lastIndexOf(4); //3
var index = arr.lastIndexOf("4"); //-1
console.log(index);
15.forEach遍历
功能:遍历数组,每次循环中执行传入的回调函数 。(注意: forEach() 对于空数组是不会执行回调函数的)返回值:没有返回值,或理解为返回值为undefined,不改变原数组
var arr = [11, 22, 33, 44, 55];
var rel = arr.forEach(function (item, index, array) {//三个值,元素,下标,数组本身
console.log(item, index, array);
});
控制台返回
元素 下标 数组
11 0 [11, 22, 33, 44, 55]
22 1 [11, 22, 33, 44, 55]
33 2 [11, 22, 33, 44, 55]
44 3 [11, 22, 33, 44, 55]
55 4 [11, 22, 33, 44, 55]
16.map遍历
功能: 遍历数组, 每次循环时执行传入的回调函数,根据回调函数的返回值,生成一个新的数组 , 同forEach() 方法返回值:自定义
var arr = [32, 93, 77, 53, 38, 87];
var res = arr.map(function (item, index, array) {
return item + 5 * 2;
});
console.log("原数组", arr); //原数组 [32, 93, 77, 53, 38, 87]
console.log("新数组", res); //新数组 [42, 103, 87, 63, 48, 97]
17.filter过滤
功能:过滤出满足条件的元素返回值:满足条件的元素组成的新数组
var arr = [22, 0, 1, 3, 55, 78];
var rel = arr.filter(function (item, index, array) {
return item >= 10; // true || false
});
console.log(rel);//[22, 55, 78]
18.every判断
功能:遍历数组, 每次循环时执行传入的回调函数,回调函数返回一个条件,全都满足返回true 只要有一个不满足 返回false ,全真则真,一假则假返回值:true或者false
var arr = [4,6,8,9,10];
var rel = arr.every(function (item, index, array) {
console.log(item, index, array);// 4 0 [4, 6, 8, 9, 10]
return item >= 5;
});
console.log(rel); //false
19.some判断
功能: 遍历数组, 每次循环时执行传入的回调函数,回调函数返回一个条件,只要有一个元素满足条件就返回true,都不满足返回false ,一真则真,全假才假返回值:true或者false
var arr = [1, 2, 3, 4,6];
var rel = arr.some(function (item, index, array) {
console.log(item, index, array);//
return item >= 5;
});
console.log(rel); //true
20.reduce求和
功能:将元素进行计算处理,得到想要的结果返回值:操作完的结果
var arr = [2, 3, 4, 5];
var rel= arr.reduce((sum,item)=>sum+=item,0)
console.log(rel);//14
21.includes判断
功能:判断一个数组是否包含一个指定的值返回值:如果有返回 true,否则false
var arr=[1,2,3,4,5]
var rel= arr.includes(2)
console.log(rel);//true
var rel2=arr.includes(9)
console.log(rel2);//false
22.find
功能:遍历数组,返回满足条件的第一个元素,不存在则返回undefined返回值:满足条件的第一个元素/undefined
var arr = [55, 66, 77, 88, 99, 100];
var rel = arr.find(function (item, index, array) {
return item > 60;
});
console.log(rel); //66
23.findIndex
功能:遍历数组,返回满足条件的第一个元素下标,不存在则返回-1返回值:返回满足条件的第一个元素下标,不存在=>-1
var arr = [1, 12, 53, 88, 99, 66];
var index = arr.findIndex(function (item, index, array) {
console.log(item, index, array);
return item > 60;
});
console.log(index); // 3