改变原数组:
unshift:向数组开头添加元素
push: 向数组末尾添加元素,并返回新的长度
unshift:向数组开头添加元素,并返回新的长度
shift: 将第一个元素删除并且返回删除元素
reverse:颠倒数组顺序
sort:对数组排序
splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回
不改变原数组:
concat:连接多个数组,返回新的数组
join:将数组中所有元素以参数作为分隔符放入一个字符
slice:slice(start,end),返回选定元素
some:检测数组中的元素是否满足指定条件,返回true或false 如果有一个元素满足条件,表达式返回true,剩余的元素不会再执行检测。 如果没有满足条件的元素,返回false。
every(callback): 依据判断条件,数组的元素是否全满足,若满足则返回ture
filter:创建一个新数组,某数组中符合指定条件的所有元素,不会改变原始数组
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.filter(checkAdult); //32,33,40
}
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
forEach 和 map 的相同点与区别
相同点
1、只能遍历数组
2、都支持三个参数,item,index,arr(愿数组)
3、匿名函数中的this都是指向window
区别
1、map()会分配内存空间存储新数组并返回,forEach()不会返回数据
2、forEach()允许callback更改原始数组的元素。map()返回新的数组。
splice和slice的区别
1、splice(start,length,”a”) 删除/添加元素,splice() 方法会直接对数组进行修改。从start开始删length个(包括start),并将”a”插入到i处。
2、slice(start,end) 从某个已有的数组返回选定的元素,从start位开始返回到end(包括start不包括end)如果是负数,表示从数组尾部进行计算(同样:包括start不包括end),请注意,该方法并不会修改数组,而是返回一个子数组。