1数组的方法
| 顺序 方法名 功能 返回值 是否改变原数组 版本 | |
|---|---|
| 1 push() (在结尾)向数组添加一或多个元素 返回新数组长度 Y ES5- | |
| 2 unshift() (在开头)向数组添加一或多个元素 返回新数组长度 Y ES5- | |
| 3 pop() 删除数组的最后一位 返回被删除的数据 Y ES5- | |
| 4 shift() 移除数组的第一项 返回被删除的数据 Y ES5- | |
| 5 reverse() 反转数组中的元素 返回反转后数组 Y ES5- | |
| 6 sort() 以字母顺序(字符串Unicode码点)对数组进行排序 返回新数组 Y ES5- | |
| 7 splice() 在指定位置删除指定个数元素再增加任意个数元素 (实现数组任意位置的增删改) 返回删除的数据所组成的数组 Y ES5- | |
| 8 concat() 通过合并(连接)现有数组来创建一个新数组 返回合并之后的数组 N ES5- | |
| 9 join() 用特定的字符,将数组拼接形成字符串 (默认",") 返回拼接后的新数组 N ES5- | |
| 10 slice() 裁切指定位置的数组 被裁切的元素形成的新数组 N ES5- | |
| 11 toString() 将数组转换为字符串 新数组 N ES5- | |
| 12 indexOf() 查询某个元素在数组中第一次出现的位置 存在该元素,返回下标,不存在 返回 -1 N ES5- | |
| 13 forEach() (迭代) 遍历数组,每次循环中执行传入的回调函数 无/(undefined) N ES5- | |
| 14 map() (迭代) 遍历数组, 每次循环时执行传入的回调函数,根据回调函数的返回值,生成一个新的数组 有/自定义 N ES5- | |
| 15 filter() (迭代) 遍历数组, 每次循环时执行传入的回调函数,回调函数返回一个条件,把满足条件的元素筛选出来放到新数组中 满足条件的元素组成的新数组 N ES5- | |
| 16 every() (迭代) 判断数组中所有的元素是否满足某个条件 全都满足返回true 只要有一个不满足 返回false N ES5- | |
| 17 some() (迭代) 判断数组中是否存在,满足某个条件的元素 只要有一个元素满足条件就返回true,都不满足返回false N ES5- | |
| 18 reduce() (归并)遍历数组, 每次循环时执行传入的回调函数,回调函数会返回一个值,将该值作为初始值prev,传入到下一次函数中 最终操作的结果 N ES5- | |
| 19 includes() 判断一个数组是否包含一个指定的值. 是返回 true,否则false N ES6 | |
| 20 find() 遍历数组,执行回调函数,回调函数执行一个条件,返回满足条件的第一个元素,不存在返回undefined 满足条件第一个元素/否则返回undefined N ES6 | |
| 21 findIndex() 遍历数组,执行回调函数,回调函数接受一个条件,返回满足条件的第一个元素下标,不存在返回-1 满足条件第一个元素下标,不存在=>-1 N ES6 | |
2方法的讲解
1 push
var lft = arr.push(5)
console.log(arr); //[1,2,3,4,5]
console.log(lft); //返回数组的总长度 5
2 unshift
var lft = arr.unshift(A)
console.log(arr); //[A,1,2,3,4]
console.log(lft); //返回数组的总长度 5
3 pop
var lft = arr.pop()
console.log(arr); //[1,2,3]
console.log(lft); //返回被删除的元素 //4
4 shift
var lft = arr.shift()
console.log(arr); //[2,3,4]
console.log(lft); //返回被删除的元素 //1
5 reverse
var lft = arr.reverse()
console.log(arr); //[4,3,2,1]
console.log(lft); //返回反转后数组 [4,3,2,1]
6 sort
var lft = arr.sort((a,b)=>{ //b-a排序从大到小 //a-b从小到大
return b-a
})
console.log(arr); //[4,3,2,1]
console.log(lft); //返回新的数组 [4,3,2,1]
7 splice
var rel = arr.splice(2, 1, "age1", "age2");
console.log(arr); //['a', 'b', 'age1', 'age2', 2, 3, 6]
console.log(rel); // 返回删除的数据所组成的数组 ['c']
8 concat
var arr2 = ["a", "b", "c"];
var arr3 = ["A", "B", "C"];
var rel = arr1.concat(arr2, arr3);
console.log(arr1); //原数组 [1, 2, 3]
console.log(rel); //新数组 [1, 2, 3, 'a', 'b', 'c', 'A', 'B', 'C']
9 join
var result = list.join("-"); //"a-b-c-d"
var result = list.join("/"); //"a/b/c/d"
var result = list.join(""); //"abcd"
var result = list.join(); // a,b,c,d
console.log(result);
10 slice
var result = list.slice(1, 3);
console.log(result); // ["b", "c"]
11 toString
var rel = list.toString();
console.log(rel); // a,b,c,d (字符串类型)
12 indexOf
var index = list.indexOf(4); //3
var index = list.indexOf("4"); //-1
console.log(index);
13 forEach
var res = list.forEach(function (item, index, array) {
console.log(item, index, array);
});
console.log(res);
// 打印结果
32 0 Array(6)
数组的方法.html:16 93 1 Array(6)
数组的方法.html:16 77 2 Array(6)
数组的方法.html:16 53 3 Array(6)
数组的方法.html:16 38 4 Array(6)
数组的方法.html:16 87 5 Array(6)
数组的方法.html:18 undefined
14 map
var res = list.map(function (item, index, array) {
return item + 5 * 2;
});
console.log("原数组", list);//原数组 0: 32
1: 93
2: 77
3: 53
4: 38
5: 87
console.log("新数组", res); //新数组 0: 42
1: 103
2: 87
3: 63
4: 48
5: 97
15 filter
var resList = list.filter(function (item, index, array) {
return item >= 60; // true || false
});
console.log(resList) //[93, 77, 87]
16 every
var result = list.every(function (item, index, array) {
console.log(item, index, array); // 32 0 [32, 93, 77, 53, 38, 87]
return item >= 50;
});
console.log(result) //false
17 some
var result = list.some(function (item, index, array) {
console.log(item, index, array); // 32 0 [32, 93, 77, 53, 38, 87]
return item >= 50;
});
console.log(result) //true
18 reduce
var sum = arr.reduce(function (prev, item, index, array) {
console.log(prev, item, index, array); 2 3 1 [2, 3, 4, 5]
5 4 2 [2, 3, 4, 5]
9 5 3 [2, 3, 4, 5]
return prev + item;
});
console.log(arr, sum); // [2, 3, 4, 5] 14
19 includes
site.includes('runoob');
// true
site.includes('baidu');
// false
20 find
var res= list.find(function (item, index, array) {
return item > 60;
});
console.log(res); //66
21 findIndex