1、toString()
把数组转换为数组值(逗号分隔)的字符串
join() 方法也可将所有数组元素结合为一个字符串,它的行为类似 toString(),但是您还可以规定分隔符
var a1 = [1, 2, 3];
var a2 = a1.toString();
a2 //"1,2,3"
2、find
返回满足条件的第一个元素,如果没有满足条件的元素,则返回 undefined
function isBigEnough(element, index, array) {
return (element >= 10);
}
var a1 = [8, 18, 14];
var num = a1.find(isBigEnough); //18
3、includes
用来判断当前数组是否包含某指定的值,如果是,则返回 true,否则返回 false
该函数接受两个参数,第二个参数表示开始查找位置,起始位置为 0。这个方法与 indexOf 方法最大的区别不仅在于返回值一个是索引,一个是布尔值,indexOf 方法使用的是
===
来判断,无法判断 NaN 情况,而 includes 可以判断
var a1 = [1, NaN];
a1.indexOf(NaN);//-1
a1.includes(NaN);//true
4、splice
splice() 方法用新元素替换旧元素,以此修改数组的内容
第一个参数(1)定义了应添加新元素的位置(拼接);第二个参数(2)定义应删除多少元素;其余参数(“5”,“6”)定义要添加的新元素 返回一个包含已删除项的数组
var a1 = [1, 2, 3, 4];
var a2 = a1.splice(1, 2);
a1 //[1, 4]
a2 //[2, 3]
a1 = [1, 2, 3, 4];
a2 = a1.splice(1, 2, 5, 6);
a1 //[1, 5, 6, 4]
5、slice
slice() 方法用数组的某个片段切出新数组,并返回这个新数组
可接受两个参数,比如 (1, 3),该方法会从开始参数选取元素,直到结束参数(不包括)为止
var a1 = [1, 2, 3, 4, 5];
var a2 = a1.slice(1, 3);
a1 //[1, 2, 3, 4, 5]
a2 //[2, 3]
6、shift
shift() 方法删除数组的 第一个 元素,并返回这个元素。该方法会改变数组的长度
7、unshift
unshift() 方法在数组的开头添加一个或者多个元素,并返回数组新的 length 值
var a1 = [1, 2, 3];
var a2 = a1.unshift(4);
a1 //[4, 1, 2, 3]
a2 //4
8、pop
pop() 方法删除一个数组中的最后的一个元素,并且返回这个元素
var a1 = [1, 2, 3];
var a2 = a1.pop();
a1 //[1, 2]
a2 //3
9、push
push() 方法添加一个或多个元素到数组的末尾,并返回数组新的长度(length 属性值)
var a1 = [1, 2, 3];
var a2 = a1.push(4);
a1 //[1, 2, 3, 4]
a2 //4
10、map
map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组
var a1 = [1, 4, 9];
var a2 = a1.map(Math.sqrt);
a1 //[1, 4, 9]
a2 //[1, 2, 3]
11、reduce
reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值
var getAdd = (pre, cur) => pre + cur;
var a1 = [1, 2, 3];
var a2 = a1.reduce(getAdd, 0);
a1 //[1, 2, 3]
a2 //6
12、indexOf
indexOf()方法返回给定元素能找在数组中找到的第一个索引值,否则返回-1
var array = [1, 2, 5];
array.indexOf(5); // 2
array.indexOf(7); // -1
13、forEach
forEach() 方法对数组的每个元素执行一次提供的函数(回调函数)
function logArrayElements(element, index, array) {
console.log("a[" + index + "] = " + element);
}
// 注意索引2被跳过了,因为在数组的这个位置没有项
var result = [2, 5, 9].forEach(logArrayElements);
// a[0] = 2
// a[1] = 5
// a[2] = 9
result //underfined
14、filter
filter() 方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组
function isBigEnough(element, index, array) {
return (element >= 10);
}
var a1 = [19, 22, 6, 2, 44];
var a2 = a1.filter(isBigEnough);
a1 //[19, 22, 6, 2, 44]
a2 //[19, 22, 44]
15、sort
sort() 方法对数组的元素做原地的排序,并返回这个数组。 sort 排序可能是不稳定的。默认按照字符串的Unicode码位点(code point)排序
var big = function(a, b){
return a - b;
}
var a1 = [2, 4, 77, 1];
var a2 = a1.sort(big);
a1 //[1, 2, 4, 77]
a1 === a2; //true
常见数组方法总结!
平时经常会用到,但有一些还是记不住,就做了个笔记方便查看~~