js 循环

while do/while for  for/in  forEach  map for/each filter every/some indexOf/lastIndexOf

forEach:全部遍历,不能使用break停止。

while(expression)

statement

var i=0;

while(i<10){

console.log(i);

i++;

}

do

statement

while(expression);

do{

}while(条件)

for(initialize;test;increment)

statement

for(var i0;i<10;i++)

{console.log(i)}

for(;;)死循环

forEach

var data = [1,2,3];

var sum= 0;

data.forEach(function(x){sum+=x*x})

sum // => 1+4+9

 

for(key in obj){}

for循环多用来遍历对象

for/in 循环用来遍历对象属性成员,for/in并不会遍历对象的所有属性只有可枚举的属性才会遍历到

map()方法将调用的数组的每个元素传递给指定的函数,并返回一个数组。包含该函数的返回值。

a=[1,2,3]

b=a.map(function(x){return x*x})

filter()方法返回的数组时调用数组的一个子集。

a=[5,4,3,2,1]

b=a.filter(function(x){x<3}) //=>[2,1]

注意:filter会跳过稀疏数组中缺少的元素,返回数组总是稠密的。

every()和some():是数组的逻辑判定,他们对数组元素应用指定的函数进行判定,返回true或false。

对于空数组,every返回true,some返回false

reduce()和reduceRight()方法使用指定的函数将数组元素进行组合,生成单个值。

reduce()需要两个参数,第一个是执行化简操作的函数。第二个参数可选是传给函数的初始值。没有指定初始值,默认使用数组第一个元素作为初始值。

空数组中不带初始值参数调用reduce()将导致类型错误。

reduceRight()的工作原理和reduce一样,不同的是它按照数组索引从高到低(从右到左)处理数组。

indexOf()和lastIndexOf():搜索整个数组中具有给定值的元素,返回找到的第一个元素的索引或者如果没找到就返回-1。indexOf从头开始搜索,lastIndexOf从结尾开始搜索。

第一个参数是需要搜索的值,第二个参数是可选的,它指定数组中的一个索引,从哪开始搜索。如果省略从头(结尾)开始搜索。第二个参数可以是负数,-1表示最后一个数组的元素。

注意:字符串也有indexOf和lastIndexOf方法。

检查是不是数组:Array.isArray()

for/each循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值