对于JS我们常见的循环有下面这些:
for 循环
for in 循环
for of 循环
forEach()
map()
filter()
some()
every()
下面要循环的数组
var arr = ['a', 'b', 'c'];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i])
}
for (var i in arr) {
console.log(arr[i])
}
// for of 循环 直接得到的就是值 !!!
for (var v of arr) {
console.log(v)
}
// forEach循环没有返回值 默认返回 undefined
var newArr = [];
arr.forEach(function (v, i) {
// console.log(v, i)
// return v + '哈'; // 这能这样子!!! 没有返回值
newArr.push( v + 'haha' )
})
// console.log(newArr) // undefined
console.log(newArr)
// map方法 和foreach一样,它会把返回的元素,添加进入一个新数组,然后,返回这个全新的数组
var newArr = arr.map(function (v, i) {
// console.log(v, i)
return v + '嘿嘿'
})
console.log(newArr)
// filter是循环数组,然后过滤数据, 把满足条件的过滤出来,返回一个全新的数组
var ages = [16, 17, 18, 19, 20];
var newAges = ages.filter(function (v, i) {
// console.log(v, i)
return v >= 18;
})
console.log(newAges)
// some 循环方法, 只要有一个满足 就返回true 否则返回false
var ages = [16, 17, 18, 19, 20];
var rst = ages.some(function (v, i) {
// console.log(v, i)
return v > 19
})
console.log(rst)
// every 循环方法 每一个都满足 才返回true 否则返回false
var ages = [16, 17, 18, 19, 20];
var rst = ages.every(function (v, i) {
// console.log(v, i)
return v >= 16
})
console.log(rst)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。