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 arr = [1,2,3,4]
var lft = arr.push(5)
console.log(arr); //[1,2,3,4,5]
console.log(lft); //返回数组的总长度 5
2 unshift
var arr = [1,2,3,4]
var lft = arr.unshift(A)
console.log(arr); //[A,1,2,3,4]
console.log(lft); //返回数组的总长度 5
3 pop
var arr = [1,2,3,4]
var lft = arr.pop()
console.log(arr); //[1,2,3]
console.log(lft); //返回被删除的元素 //4
4 shift
var arr = [1,2,3,4]
var lft = arr.shift()
console.log(arr); //[2,3,4]
console.log(lft); //返回被删除的元素 //1
5 reverse
var arr = [1,2,3,4]
var lft = arr.reverse()
console.log(arr); //[4,3,2,1]
console.log(lft); //返回反转后数组 [4,3,2,1]
6 sort
var arr = [1,2,3,4]
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 arr = ["a", "b", "c", 2, 3, 6];
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 arr1 = [1, 2, 3];
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 list = ["a", "b", "c", "d"]; // "a-b-c-d"
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 list = ["a", "b", "c", "d"];
var result = list.slice(1, 3);
console.log(result); // ["b", "c"]
11 toString
var list = ["a", "b", "c", "d"];
var rel = list.toString();
console.log(rel); // a,b,c,d (字符串类型)
12 indexOf
var list = [1, 2, 3, 4];
var index = list.indexOf(4); //3
var index = list.indexOf("4"); //-1
console.log(index);
13 forEach
var list = [32, 93, 77, 53, 38, 87];
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 list = [32, 93, 77, 53, 38, 87];
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 list = [32, 93, 77, 53, 38, 87];
var resList = list.filter(function (item, index, array) {
return item >= 60; // true || false
});
console.log(resList) //[93, 77, 87]
16 every
var list = [32, 93, 77, 53, 38, 87];
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 list = [32, 93, 77, 53, 38, 87];
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 arr = [2, 3, 4, 5];
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
let site = ['runoob', 'google', 'taobao'];
site.includes('runoob');
// true
site.includes('baidu');
// false
20 find
var list = [55, 66, 77, 88, 99, 100];
var res= list.find(function (item, index, array) {
return item > 60;
});
console.log(res); //66
21 findIndex
var list = [55, 66, 77, 88, 99, 100];
var index = list.findIndex(function (item, index, array) {
console.log(item, index, array);
return item > 60;
});
console.log(index); // 1