数组方法:
join() //分隔 (默认分隔符为逗号) 原数组不变
可实现重复字符串
console.log(Array(3).join("重复")) //重复重复重复

push(),pop()
push() 可接收任意参数并将其参数依次添加到数组末尾 (改变数组长度)
pop() 移除数组最后一项并返回移除值 (改变数组长度)
let arr = [1,2,3];
arr.push(4,5);
console.log(arr); // [1, 2, 3, 4, 5]
arr.pop();
console.log(arr) // [1, 2, 3, 4]

shift(),unshift()
shift() 删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined
unshift() 添加到原数组第一项前,并返回数组长度;
用法同push(),pop()

sort() 升序比较大小,但都将转换成字符串类型进行比较排序
可通过接受比较函数为参数来排序:(降序则将返回值调换)
function compare(a,b){
if(a<b){
return -1;
}else if(a>b){
return 1;
}else{
return 0;
}
}
let arr = [12,22,43,4,24];
console.log(arr.sort()); // [12, 22, 24, 4, 43]
console.log(arr.sort(compare)); // [4, 12, 22, 24, 43]

concat() 将参数添加到原数组中(不改变原数组)
let arr = [1,2,3,4];
console.log(arr.concat(5)) // [1, 2, 3, 4, 5]
console.log(arr.concat(5,6)) // [1, 2, 3, 4, 5, 6]
console.log(arr.concat(5,[6,7])) // [1, 2, 3, 4, 5, 6, 7]

splice() 很强大的数组方法,可以实现删除、插入和替换(改变原数组)
有三个参数: splice(起始位置,要删除的个数,要插入的任意值(不限个数,可不填))
let arr = [1,2,3,4];
console.log(arr.splice(1,0,"课时")) // (返回值为删除数,如果没有删除任何项,则返回一个空数组)
console.log(arr) // [1, "课时", 2, 3, 4]

indexOf()和 lastIndexOf()
indexOf() 接收两个参数:要查找的项和(可选的)表示查找起点位置的索引(从数组的开头开始向后查找)
lastIndexOf() 接收两个参数:要查找的项和(可选的)表示查找起点位置的索引(从数组的末尾开始向前查找)
这两个方法都返回要查找的项在数组中的位置,或者在没找到的情况下返回1。在比较第一个参数与数组中的每一项时,会使用全等操作符
let arr = [1,2,3,4];
console.log(arr.indexOf(2,1)) // 1
console.log(arr.lastIndexOf(2,3)) // 1

forEach() 对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值。参数都是function类型
forEach(遍历的数组内容,第对应的数组索引,数组本身)
let arr = [1,2,3,4];
arr.forEach(function(a, b, c){
console.log("a:"+a+"--b:"+b+"--c:"+c);
});
输出:a:1--b:0--c:1,2,3,4
a:2--b:1--c:1,2,3,4
a:3--b:2--c:1,2,3,4
a:4--b:3--c:1,2,3,4

map() 指“映射”,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
let arr = [1,2,3,4];
let arr2 = arr.map(function(item){
return item * 2
});
console.log(arr2); // [2, 4, 6, 8] 每项都乘以2

every():判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true
let arr = [1,2,3,4];
let arr2 = arr.every(function(item){
return item > 2
});
let arr3 = arr.every(function(item){
return item < 5
});
console.log(arr2); // false
console.log(arr3); // true

some():判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true
用法同every()

reduce()和 reduceRight()
reduce()方法从数组的第一项开始,逐个遍历到最后
reduceRight()则从数组的最后一项开始,向前遍历到第一项
传给 reduce()和 reduceRight()的函数接收 4 个参数:初始值或者计算结束后的返回值、当前值、项的索引和数组对象
下面代码用reduce()实现数组求和,数组一开始加了一个初始值10
var arr = [1,2,3,4];
var sum = arr.reduce(function(a, b, c, d){
return a + b;
},10);
console.log(sum); //20

filter():“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var arr2 = arr.filter(function(a, b) {
return a > 5;
});
console.log(arr2); //[6, 7, 8, 9, 10]

posted on 2018-03-07 17:05  留┗┻┛起  阅读(93)  评论(0)    收藏  举报