遍历对象属性的方法、遍历数组的方法

遍历对象属性的方法

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)
}

你可能感兴趣的:(javascript,前端)