数组forEach:
forEach对数组直接进行循环,相当于for循环
传了3个参数,item就是数组每一项,index就是下标,arr就是这个数组,而且没有返回值
let arr = [7, 10, 3, 4, 5, 6];, arr) => {
console.log(item);
console.log(index);
console.log(arr);
})
数组map:
map,对数组每一项进行加工,加工完成之后返回一个新的数组传了3个参数,item就是数组每一项,index就是下标,arr就是这个数组,
let arr2 = ['香蕉', '苹果', '西瓜'];
let result2 = arr2.map((item, index, arr) => {
let str = index + item + index;
return str
})
console.log(result2);
数组filter:
filter过滤,就是讲想要的内容进行筛选,不要的内容去除,然后返回想要内容的数组
传了3个参数,item就是数组每一项,index就是下标,arr就是这个数组,
let arr3 = [8, 5, 10, 25, 3, 16]
let result3 = arr3.filter((item, index, arr) => {
// 只要数组里的偶数
if (item % 2 == 0) {
// 通过返回true或者false进行选择,true为偶数,保留
return true
} else {
return false
}
})
console.log(result3);
数组reduce:
reduce是对整个数组进行整合,比如你要做一个将数组所有的数字进行相加将数组每一项内容整合后,返回一个内容
pre代表初始值,next代表下一个值,index代表下标
因为 pre没有初始值,所以最后有一个0(此处可以看一下加0和不加0的区别)
let arr4 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
let result4 = arr4.reduce((pre, next, index) => {
console.log(pre);
console.log(next);
console.log(index);
return pre + next
}, 0)
console.log(result4);
for…in…
for…in…主要是用于遍历对象的操作,不适用于遍历数组。 for…in…循环的是key
let obj = {
name: '小明',
type: '学渣',
content: '爱玩'
}
// tip:表面上这个key是按照顺序来遍历的,但是这个如果内存过小,key可能会是乱序的
for (key in obj) {
console.log('key:' + key + ';value:' + obj[key]);
}
for…of…
for…of…是es6的语法,可以用来遍历数组,类数组的对象,字符串,set/map等。for…of…是循环的每一项,不是像for…of…循环key
let arr5 = ['康康', '麦克', '韩梅梅'];
for (let item of arr5) {
console.log(item);
}