关于javascript:js数组常用循环

5次阅读

共计 1676 个字符,预计需要花费 5 分钟才能阅读完成。

1.for 循环

 let arr=[1,2,3,4,5]
 for (let i = 0; i < arr.length; i++) {
     //continue
     //return
    console.log(arr[i])
 }

for 循环中的 continue 能够完结本次循环,间接进行下次 i 扭转的循环,return 完结整个循环。

2.forEach()

arr.forEach((item,index,array)=>{console.log(item);
    console.log(index);
    console.log(array);
})

foeEach 没有返回值,不会扭转原数组,item 是每次的值,index 是 下标,array 是数组自身,forEach 不反对 continue return 语句。

3.map()

let arr = [1, 2, 3, 4];
let newArr = arr.map((item, index, array) => {return item * 10;});
console.log(newArr);  //  [10, 20, 30, 40];
console.log(arr);

map 不会扭转原数组,会返回一个解决过后新数组,Item,index,array 同 forEach 一样。扭转新数组 newArr 的 内容 不会扭转原数组。

4.filter()

let arr = [1, 2, 3, 4];
let newArr = arr.filter((item, index, array) => {return item >  2;});
console.log(newArr);  // [3,4]
console.log(arr);  // [1, 2, 3, 4]

filter 过滤 不扭转原数组,会返回一个新数组。会过滤掉不符合条件的元素,把符合条件的元素增加到一个新数组中,

5.reduce()

let arr = [1, 2, 3, 4];
let newArr = arr.reduce((x, y,index,array) => {console.log("x,"+x);
    console.log("y,"+y);
    console.log("x+y,",Number(x)+Number(y));
    return x + y;
});
console.log(newArr);  // 10
console.log(arr);  // [1, 2, 3, 4]

reduce() 办法接管一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值,
x 必填 初始值或计算完结后的返回值,
y 必填 以后元素
index 非必填 以后元素的索引
array 非必填 以后数组

6.every()

let arr = [1, 2, 3, 4];
let flag = arr.every((item, index, array) => {return item > 3;});
console.log(flag);

every() 每一项都为 true,只有有一项不符合条件就为 false,就返回 false。

7.some()

let arr = [1, 2, 3, 4];
let flag = arr.some((item, index, array) => {return item > 5;});
console.log(flag); 

循环数组,数组中有一项符合条件就返回 true,并且进行循环,否则返回 false。

8.for of

let arr = [1, 2, 3, 4];
for (const item of arr) {console.log(item);
}

9.for in

# 遍历数组
let arr = [1, 2, 3, 4];
for (var index in arr) {console.log(arr[index]);
}
#遍历对象
let obj={a:1,b:2,c:3}
for (var key in obj) {if(obj.hasOwnProperty(key)){console.log(key)
  }
}

for in 能够遍历到 obj 的原型办法 method, 如果不想遍历原型办法和属性的话,能够在循环外部判断一下,hasOwnPropery 办法能够判断某属性是否是该对象的实例属性。

本文由博客一文多发平台 OpenWrite 公布!

正文完
 0