一、includes:数组中是否包含指定的值,有则返回true,无则返回false
var test= [1, 2, 3, 4, 5]
console.log(test.includes(1)); //true
二、some:返回一个布尔值,数组中所有元素调用函数,只要有一个返回true,some立即返回true
let flag = test.some(data => data > 3); //true
三、every:返回一个布尔值,原数组每个元素都调用函数后的返回值都是true,every就是true,否则,立即返回false
let flag = test.every(data => data > 2); //false
四、map:返回一个新数组,值是原数组中每个元素都执行一遍函数运算后的新值的集合
let newMap = test.map(data => data * 2); //[ 2, 4, 6, 8, 10 ]
五、filter:返回一个新数组,包含所有符合条件的数组成员
let newTest = test.filter(data => data > 3) //[ 4, 5 ]
六、reduce:对累加器和数组中的每个元素应用一个函数,将其结果转化为单个值;
若没有第二个参数,acc累加器初始值就为数组中的第一个值开始,current为数组中第二个值;有,acc累加器就为init第二个参数的值,current则为数组中的第一个值
test.reduce((acc, curr) => acc + curr) //15
七、splice:删除现有元素,添加新元素去更改一个数组的内容
//添加新元素
test.splice(1,0,'0') //[1, 0, 3, 4, 5]
//删除元素
test.splice(1,3) //[1,5]
八、for...in主要是为了遍历对象而生,不适用遍历数组
for(let index in test) {
console.log(index) // 0,1,2,3,4
console.log(test[index]) // 1,2,3,4,5
}
九、for...of可遍历数组、类数组对象,字符串、Set、Map 以及 Generator 对象
break、return 可以跳出循环
for (let value of test) {
console.log(value); //1,2,3,4, 5
}
十、forEach return和break不能跳出循环,可搭配try...catch 跳出循环
test.forEach(item => console.log(item)) //1,2,3,4,5
try{
test.forEach(item => if(item % 2 == 0) throw new Error("End"))
}catch(e) {
if(e.message != "End") throw e
}
十一、push 向数组的末尾增加一项 返回值是数组的新长度
test.push(6) //[1,2,3,4,5,6]
十二、concat 把一个数组和另一个数组拼接在一起 返回拼接好的数组
let test2 = [6,7]
test = test.conact(test2) //[1,2,3,4,5,6,7]
十三、join 将数组按照指定的符号拼接成字符串
let test2 = test.join(";") //1;2;3;4;5'
十四、indexOf返回数组中符合条件的下标
test.indexOf(2) //1
浅显总结数组常用方法,加深自己的理解!