zoukankan      html  css  js  c++  java
  • forEach遍历数组对象且去重

    forEach遍历数组对象

    var obj1 = [{
    
    key: '01',
    
    value: '哈哈'
    
    }, {
    
    key: '02',
    
    value: '旺旺'
    
    }, {
    
    key: '03',
    
    value: '娃娃'
    
    }, {
    
    key: '04',
    
    value: '皮皮'
    
    }, {
    
    key: '05',
    
    value: '波波'
    
    }];
    
     
    
    //  遍历数组对象
    
    var str1 = "";
    
    angular.forEach(obj1, function(data, index, obj1) {
    
    //data等价于obj1[index]
    
    str1 += obj1[index].value + ',';
    
    });
    
    str1 = str1.substring(0, str1.length - 1);
    
    console.log(str1); //  哈哈,旺旺,娃娃,皮皮,波波
    
     
    
     
    
    //index 数组参数都可以省略
    
    var str2 = "";
    
    angular.forEach(obj1, function(data) {
    
    str2 += data.key + ',';
    
    })
    
    str2 = str2.substring(0, str2.length - 1);
    
    console.log(str2); //  01,02,03,04,05
    
     
    
     
    
    //forEach() 遍历数组对象
    
    var str3 = "";
    
    obj1.forEach(function(data){
    
    str3 += data.value + ',';
    
    })
    
    str3 = str3.substring(0, str3.length - 1);
    
    console.log(str3); //  哈哈,旺旺,娃娃,皮皮,波波
    
     
    
    //  遍历数组对象   根据主键去重
    
    var o = {};
    
    var arr = [];
    
    angular.forEach(obj1, function(data) {
    
    if(!o[data.key]){
    
    arr.push(data.key);
    
    o[data.key] = true;
    
    }
    
    });
    
    console.log(arr); //  ["01", "02", "03", "04"]

    语法:

    array:需要遍历的集合

    data:遍历时当前的数据(数组中的每一项)

    index:遍历时当前索引

    这里要注意的是:function()里面的参数第一个是value ,第二个是下标(index),第三个是要便利的数组;

    也可以不用写后面两个参数

     1 var array = [{a: 1}, {b: 2}];
     2 
     3 angular.forEach(array , function(data, index, array){
     4 
     5 console.log(data == array[index]); //true
     6 
     7 })
     8 
     9  
    10 
    11 array.forEach(function(data, index, array){
    12 
    13 console.log(data == array[index]); //true
    14 
    15 })

     

  • 相关阅读:
    PHP单引号和双引号的区别
    thinkphp实现导航高亮的简单方法
    js选中当前菜单后高亮显示的导航条
    Dubbo新版管控台
    把本人基于Dubbo的毕业设计分享粗来~
    Windows 查看端口占用情况
    GitLab 环境搭建【CentOS7】
    【非专业前端】vue+element+webpack
    【非专业前端】使用vue2.5.17+element2.4.5
    ElasticSearch6.3.2------入门
  • 原文地址:https://www.cnblogs.com/le220/p/9155753.html
Copyright © 2011-2022 走看看