zoukankan      html  css  js  c++  java
  • 遍历

    遍历数组、字符串、对象

    1、for循环

    2、foreach 只能遍历数组,可以不用知道数组length,遍历不能被打断(continue或者break或者return);数组本身的属性(例如arr.name="chen")不能被遍历

    3、for  in

    遍历自身及原型上的可枚举属性

    (为遍历对象而生)可以遍历对象、数组(数组的可枚举属性都会被遍历,包括继承的,自己本身的属性)、字符串;(ps:通过点运算符添加的属性默认都是可枚举的)

    for in遍历数组的毛病

    1.index索引为字符串型数字,不能直接进行几何运算
    2.遍历顺序有可能不是按照实际数组的内部顺序,for in 循环的遍历顺序是不确定的,所以不要用它遍历数组!
    3.使用for in会遍历数组所有的可枚举属性,包括原型。例如上栗的原型方法method和name属性
    所以for in更适合遍历对象,不要使用for in遍历数组。

    常与for in 联合使用的几个命令:

      借助foreach可以过滤数组本身的属性;

    obj.hasOwnProperty(i)  判断是否是自己的属性(可枚举+不可枚举) 

      Object.getOwnPropertyNames(obj)  返回对象obj的所有自身属性(可枚举+不可枚举)

    Object.keys(obj)  遍历obj,返回自身所有的可枚举属性

     4、for of   

    可以遍历 ArrayMapSetStringTypedArrayarguments 对象等等可迭代的对象,不能遍历单纯的Object,单纯的Object不可迭代!

    ES6新语法,兼容性差点,可以遍历数组(只会遍历数组本身,不会遍历数组对象本身的属性和原型属性)且可以被打断,弥补了foreach的缺陷(遍历可以被中断);

    5、jquery中的遍历:$.each()

         https://www.cnblogs.com/zhaixr/p/7069857.html

    综上:for in 适合遍历对象 ;foreach和for of适合遍历数组,字符串

  • 相关阅读:
    多线程
    python 面向对象
    selenium 安装 以及相关环境
    pyquery 库的方法
    Python 面向对象的补充
    python 面向对象
    想造轮子的时候,ctrl+f一下
    C#三层开发做学生管理系统
    C# 我是个传奇的 using
    啦啦啦 啦啦 啦 啦 啦 啦啦 啦 啦 啦
  • 原文地址:https://www.cnblogs.com/cui-ting/p/10673055.html
Copyright © 2011-2022 走看看