遍历种类

forEach 对数组的循环的函数,不会改变数组值map 创建新数组,返回元素调用函数返回的结果every 测试一个数组内所有的数组是否都能通过某个指定函数的测试,返回布尔值for循环 常用的循环while循环 先判断后执行do-while循环,先执行后判断,至少执行一次for-of 数组、set、map等都可以使用for-in 主要用于对象遍历遍历对象,获取对象属性key的数组,遍历,该数组,使用的方法主要有Object.keys(),Object.getOwnPropertyNames

forEach

对数组的循环的函数,不会改变数组值

数组对象例子

var array1 = [{name:'张三丰',sex: '男'}];
array1.forEach(function(item) {
 item['name'] = 'dkdkdk';
 console.log(item);
});
console.log(array1)
输出:
> Object { name: "dkdkdk", sex: "男" }
> Array [Object { name: "dkdkdk", sex: "男" }]

普通数组例子

var array1 = [1,2,3];
array1.forEach((currentValue,index) => {
 currentValue++
 console.log(currentValue);
});
console.log(array1)
输出:
> 2
> 3
> 4
> Array [1, 2, 3]

map

创建新数组并返回调用函数的值

例子

var array1 = [1,2, 3, 4];
const map1 = array1.map(x => x * 2);
console.log(map1);
输出:
> Array [2, 4, 6, 8]

js循环json数组对象_js循环对象_js foreach循环对象

every

检查数组内的元素是否都满足某个函数的检验,返回布尔值

例子

var array1 = [1, 30, 39, 49, 10, 13];
let bl = array1.every((currentValue) => {
 return currentValue > 40
})
console.log(bl)
输出:
> false

for循环

将长度缓存起来,避免重复获取长度,数据量较大的时候优化效果比较明显

var arr = [1,2,3,4,5,6];
 for ( var i = 0,len = arr.length; i <len; i++){
 console.log(arr[i]);
}

while循环

类似普通for循环,只是语句分散写开

let num = 1
while(num < 10) {
 console.log(num)
 num ++
}

js循环对象_js循环json数组对象_js foreach循环对象

do-while循环

类似普通for循环,只是语句分散写开

let num = 1
do{
 console.log(num)
 num ++
}while(num < 10)

for-of循环

具有Symbol.iterator属性,就可以使用for…of遍历,返回的是值不是索引js循环对象,可以响应break,continue,return语句

var array1 = [1, 30, 39, 49];
for(let item of array1) {
console.log(item)
}
输出:
> 1
> 30
> 39
> 49

for-in循环

主要用于遍历对象for(key in object),key是字符串类型,能读取对象自身上面的成员属性,也会读出原型链遍历出的对象的原型属性。如果只使用当前对象本身的属性,使用hasOwnProperty或getOwnPropertyNames()判断是不是当前对象的属性

迭代的顺序是依赖于执行环境的,所以数组遍历不一定按次序访问元素。因此当迭代访问顺序很重要的数组时,最好用整数索引去进行for循环(或者使用 Array.prototype.forEach() 或 for…of 循环)

var array1 = [1, 30, 39, 49];
for(let item of array1) {
console.log(item)
}
输出:
> 1
> 30
> 39
> 49

遍历对象

除去for-in之外,还可以以使用Object.keys(),Object.getOwnPropertyNames()获取对象的属性数组,然后遍历该属性数组js循环对象,相关例子如下:

var obj = {'0':'a','1':'b','2':'c'};
Object.getOwnPropertyNames(obj).forEach(function(key){
 console.log(key,obj[key]);
});
Object.keys(obj).forEach(function(key){
 console.log(key,obj[key]);
});

限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688