循环语句 for , forin , forEach

前段时间被问到js中for,forin,forEach之间的相同点与不同点,发现并没有认真整理过,只是平时使用,今天进行一下整理,加强记忆,首先相同点是都可对数组进行循环遍历,下面主要简单讲解不同之处。

for循环是对数组的元素进行循环,不能引用非数组对象

var newArr = [1,2,3];

for(var i=0, len=newAr.length ; i<len ; i++) { // i为number类型
    console.log( newArr[i] );
}

for...in语句用于对数组或者对象的属性进行循环操作

var newArr = [‘jack‘,‘marry‘,‘yoyo‘];
for(var i in newArr) { // i为string类型
     console.log( i +‘.....‘ + newArr[i] );
}
// 0.....jack
// 1.....marry
// 2.....yoyo

var newObj = {name : ‘lili‘ , age: 22 , sex:‘female‘};
for(var obj in newObj) {
   console.log( obj + ‘.....‘+ newObj[obj] );
}
// name.....lili
// age.....22
// sex.....female

for...in 拓展请参考:http://www.jb51.net/article/44028.htm

Tip:for...in循环不会按照属性的下标来排列输出。执行时按chrome执行,先把当中的非负整数键提出来,排序好输出,然后将剩下的定义时的顺序输出。由于这个设定,让avalon的ms-with对象排序不按预期输出了。只能强制用户不要以纯数字定义键名

var obj ={"first" : "first",
            "zoo" : "zoo",
              "2" : "2",
             "34" : "34",
              "1" : "1",
         "second" : "second" };
for (var i in obj) {
      console.log(i);
};

// 1
// 2
// 34
// first
// zoo
// second

var newObj ={"banana" : "banana",
               "pear" : "pear",
              "apple" : "apple",
              "peach" : "peach" };
for (var i in newObj ) {
      console.log(i);
};

// banana
// pear
// apple
// peach

forEach是ECMA5中Array新方法中最基本的一个,就是遍历,循环。

Tip: ie9以下的浏览器不支持此方法(⊙﹏⊙)

var newArr = [‘A‘,‘B‘,‘C‘,‘D‘];

newArr.forEach(function(val, index, arr){
   console.log(val + ‘---‘ + index + ‘--‘+arr);

});
// A---0--A,B,C,D
// B---1--A,B,C,D
// C---2--A,B,C,D
// D---3--A,B,C,D

// 与jquery中$.each对比
$.each(newArr , function(index, val, arr) {
     console.log(val + ‘---‘ + index + ‘--‘+arr);
});

备注:自己查找资料整理,仅供参考,谢谢~~

时间: 2024-12-21 20:31:40

循环语句 for , forin , forEach的相关文章

foreach循环语句

一.foreach循环语句介绍: 1.格式: for(类型 变量名称:被遍历数组或集合){ 其他操作(输出操作) } 2.作用: 主要是用于简化书写 二.foreach循环语句遍历数组: public class oneHundredAndEight_oneHundredAndNine { public static void main(String[] args) { String[] names = {"萌萌","纯纯","爱爱","

13.PHP中循环结构之foreach循环语句(任务一)

在PHP中foreach循环语句,常用于遍历数组,一般有两种使用方式:不取下标.取下标. (1)只取值,不取下标 <?php foreach (数组 as 值){ //执行的任务 } ?> (2)同时取下标和值 <?php foreach (数组 as 下标 => 值){ //执行的任务 } ?> 任务 列出所有学生姓名! 有一组以学号为下标,姓名为值的数组,这时候需要遍历数组的姓名. 1.在右边编辑器中的第16行输入指令: foreach($students as $v)

PHP中循环结构之foreach循环语句

在PHP中foreach循环语句,常用于遍历数组,一般有两种使用方式:不取下标.取下标. (1)只取值,不取下标 <?php foreach (数组 as 值){ //执行的任务 } ?> (2)同时取下标和值 <?php foreach (数组 as 下标 => 值){ //执行的任务 } ?>

#9.5课堂JS总结#循环语句、函数

一.循环语句 1.for循环 下面是 for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被执行之后执行 2.for-in语句 for-in语句是一种精准的迭代语句,可以用来枚举对象的属性. 下面是for-in语句的语法: for(property in expression) statement demo: for(var propName in w

Swift流程控制之循环语句和判断语句详解

Swift提供了所有c类语言的控制流结构.包括for和while循环来执行一个任务多次:if和switch语句来执行确定的条件下不同的分支的代码:break和continue关键字能将运行流程转到你代码的另一个点上. 除了C语言传统的for-condition-increment循环,Swift加入了for-in循环,能更加容易的遍历arrays, dictionaries, ranges, strings等其他序列类型. Swift的switch语句也比C语言的要强大很多. Swift中swi

10. Poweshell - 循环语句

PowerShell 循环语句 介绍 for (初值;表达式;赋值语句) {代码}      用变量值控制执行次数 foreach (成员变量 in数组) {代码}   利用迭代执行代码 foreach-object                                                 对一组输入的每个对象执行运算 while(表达式) {代码}                            表达式为真时循环执行代码 do {代码} while(表达式)    

【2-23】分支语句(switch…case)及循环语句

Switch-case分支语句与if语句作用相同,但需将情况都罗列出比较麻烦所以不常用. 其基本结构是: Switch(一个变量值) { Case 值1:要执行的代码段:break; Case 值2:要执行的代码段:break; --. Default:(否则) 要执行的代码段:break: } 循环语句 循环语句主要有for/while/foreach 循环语句的结构可分为四部分即四要素:初始条件,循环条件,循环体,状态改变 结构为: for(初始条件:循环条件:状态改变) { 循环体 } 例

JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)

Java流程控制语句 本博文将对JAVA中组成各种结构的控制语句进行重点介绍,主要内容是区别于C/C++中的流程控制语句的重点解析. 1.顺序语句 顺序结构中的语句可分为:表达式语句.空语句和复合语句三大类. 注: (1).空语句主要用来作为空循环体,其语法格式如下: : //其实就是一个分号 执行一个空语句,就是将控制转到该语句的结束点.这样,如果空语句是可以到达的,则空语句的结束点也是可以到达的. (2).复合语句又称为语句块,若语句块是空的,则控制转到语句块的结束点. 2.if条件语句 J

iOS -Swift 3.0 -for(循环语句用法)

1 // 2 // ViewController.swift 3 // Swift-循环语句 4 // 5 // Created by luorende on 16/12/08. 6 // Copyright ? 2016年 luorende. All rights reserved. 7 // 8 9 import UIKit 10 11 class ViewController: UIViewController { 12 13 override func viewDidLoad() { 1