js中各种遍历(forEach, map, for, for...in, for...of)

forEach

models.forEach(model => app.model(model));
var arr = [0,2,4,6,8]
var sum =0;
var str = arr.forEach(item,index,arr)
{
sum+= item;
console.log("sum的值为:",sum);
}

dva里面经常这么写。
写法很简单,经常用于通过这个数组内的数据创造新的结构,但是forEach的问题在于它不能跳出循环

map

{data.map(d => (
          <div className="balance-row">
            <div className="balance-col currency">{d.currency.toUpperCase()}</div>
            <div className="balance-col balance">
              <div>
                <FormattedNumber value={d.balance} />
              </div>
              <div className="light-text lock">
                <i className="icon anticon icon-lock" /><FormattedNumber value={d.locked} />
              </div>
            </div>
          </div>
        ))}

for... in 主要用于遍历对象

for (let prop in obj) {
  if (obj.hasOwnProperty(prop)) {
    // 继续操作prop和obj
  }
}

for ... in也可以用于遍历数组,但是不推荐

for...of

ES6中加了一个新的遍历方式,主要是用来弥补forEach 和 for...in的短板,它还可以遍历字符串、map对象、set对象、generator对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容