zoukankan      html  css  js  c++  java
  • javascript 数组、对象遍历

    1.数组遍历

    1.forEach()

    循环数组,不会改变元素,不会返回新数组 

    arr.foreach((value,index)=>{})

    2. map()

    遍历数组,对每个元素进行处理,之后返回元素;会返回一个新数组。 

    var arr = arr.map((value,index)=>{value++ return value})

    3.some()

    遍历数组,在回调函数里进行条件的判断,返回 true 或 false 。当有一个元素满足条件时就停止遍历并返回true;当全部的元素都不满足要求时,返回false   

    var bool = arr.some((value,index)=>{return value>3})

    4.every()

    遍历数组,同上。当有一个元素不满足条件时就停止遍历并返回false;当全部元素都满足时,返回true

    var bool = arr.every((value,index)=>{return value>3})

    5. filter()

    遍历数组,在回调函数里进行条件判断,当结果为true时,将该元素返回,组成一个新数组。

    var arr2 = arr.filter((value,index)=>{return value>3})

    var arr2 = arr.filter((value,index)=>{ if(value>3){return true}  })

    6. reduce()  //reudce:浓缩

    reduce(callback,init)  init为初始值。

    当init为空时,回调函数第一次执行的res是数组的第一个元素,value是第二个;第二次执行的时候res是第一次执行返回的内容,value是第三个元素;之后同第二次

    当init不为空时,回调函数第一次执行的res是init,value是第一个元素;当第二次执行时res是第一次执行返回的内容,value是第二个元素;第三次的value是第三个元素

    var result = arr.reduce((res,value)=>{res = res+value return res})

    var result = arr.reduce((res,value)->{res = res+value return res},100)

    7.使用for-of遍历

    不仅支持数组,还支持大多数类数组对象,例如DOM NodeList对象.

    也支持字符串遍历,它将字符串视为一系列的Unicode字符来进行遍历.

    var arr=["张三","李四","王五","赵六"];

    for (var value of arr){

       console.log(value);
    }
    8.使用for..in..遍历

     var arr=["张三","李四","王五","赵六"];

    for (var in arr){

      console.log(i,":",arr[i]);
    }
     
    2.对象遍历
     
    1.使用Object.keys()遍历  
    返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性).
    var obj = {'0':'a','1':'b','2':'c'};
    Object.keys(obj).forEach(function(key){
       console.log(key,obj[key]);
     });
     
    2. 使用for..in..遍历 
    循环遍历对象自身的和继承的可枚举属性(不含Symbol属性).
     var obj = {'0':'a','1':'b','2':'c'};
    for(var in obj) {
     console.log(i,":",obj[i]);
    }
     
    3.使用Object.getOwnPropertyNames(obj)遍历
    返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性)
    var obj = {'0':'a','1':'b','2':'c'};
    Object.getOwnPropertyNames(obj).forEach(function(key){
      console.log(key,obj[key]);
    });
     
    4.使用Reflect.ownKeys(obj)遍历
    返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举. 
    var obj = {'0':'a','1':'b','2':'c'};
      Reflect.ownKeys(obj).forEach(function(key){
       console.log(key,obj[key]);
      });
  • 相关阅读:
    Devops运维交流群
    CentOS7.5下二进制安装MySQL5.7.26
    CentOS7.5安装MySQL8.0.18简易流程
    Kubernetes中的Pod生命周期详解
    Linux系统发行版本及其区别
    数据库设计
    Vue 起步
    CSS 中的伪类和伪元素
    百度智能云虚拟主机 Typecho 分类功能失效 | 开启伪静态地址
    C#开发BIMFACE系列39 网页集成开发3:审图系统中三维模型比对
  • 原文地址:https://www.cnblogs.com/shine1234/p/15619212.html
Copyright © 2011-2022 走看看