1.for in 语句可以用来循环一个对象所有可枚举的属性,包括继承的属性
let obj={type:1,keyword:"js"}
for(let key in obj){
console.log(key,obj[key])
}
2.for of 来遍历对象属性呢,首先需要做的就是将 obj 对象转换成一个可迭代对象,这里可以借助 Object.keys() 方法
let obj = {type: 1, keyword: "js"};
for (let key of Object.keys(obj)) {
console.log(key, obj[key])
}
3.Object.keys()
Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致
let obj = {type: 1, keyword: "js"};
Object.keys(obj).forEach(key => console.log(key, obj[key]))
1. indexOf() 遍历数组,返回元素在数组中第一次出现的下标
里面接收2个参数.参数1是要查找的元素,参数2是开始查找的下标
arr.indexOf( 'a',1 ) // 3
2. forEach() 遍历数组获取每一个元素,没有返回值
参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标
arr.forEach(function( item, index){ })
3. map() 遍历数组,返回一个新数组,数组由参数里的返回值组成.必须使用return.
参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标
举例1:
let res = arr.map(function(item){
return item == 'a'
}) ;
console.log(res) ; //[true, false, false]
4.filter() 遍历数组,返回一个新数组:新数组由参数里,条件为true的元素组成.
参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标
let res = arr.filter(function(item, index){
return item.index >= 2
});
console.log(res) ; // [ 'c' ,'a' ]
5.some() 遍历数组,返回参数函数里符合条件的元素,只要检测到有一个元素符合条件就return.
参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标
let res = arr.some(function(item, index){
return item.index >= 2
});
console.log(res) ; // c
应用: 遍历购物车,判断商品id是否在购物车里存在,没有就加入id,有就增加数量
6. every() 遍历数组,判断数组元素是否全部符合函数参数里的条件,全部满足返回true,否则false.
参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标
let res = arr.every(function(item, index){
return item.index >= 2
});
console.log(res) ; //false
应用:全选功能,只要有一个没有被选中,就取消全选按钮的选中状态.
7.for of 遍历数组/字符串
for( let item of arr ){
console.log(item)
}