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),第三个是要便利的数组;

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

 var array = [{a: 1}, {b: 2}];

 angular.forEach(array , function(data, index, array){

console.log(data == array[index]); //true }) array.forEach(function(data, index, array){ console.log(data == array[index]); //true })

forEach遍历数组对象且去重的更多相关文章

  1. js遍历数组对象和非数组对象

    //---------for用来遍历数组对象 var i,myArr = ["a","b","c"]; ; i < myArr.len ...

  2. JavaScript 数组对象的去重

    JavaScript数组去重 1.原型去重法.通过prototype找到数组的源性对象Array,在数组的原型上添加unique()方法.需要使用的时候使用 点 " . " 进行连 ...

  3. 遍历数组,对象和JSON

    遍历数组 var arr2 = [3,4,5,6,7,8]; //第一种方法 for(var i =0;i<arr.length;i++){ console.log(arr2[i]); } // ...

  4. foreach遍历数组、数组的转置与方阵的迹

    public class Copy1 { public static void main(String[] args) { array1(); //如果不初始化元素,默认为0 int [][] a = ...

  5. 用数组指针遍历数组,FOR/FOREACH遍历数组

    1. 用数组指针遍历一维数组 <?php header("Content-type:text/html;charset=utf-8"); /*用数组指针遍历一位数组的值*/ ...

  6. foreach遍历数组

    foreach遍历一维数组 <?php //PHP数组遍历:foreach //定义数组 $arr=array(1,2,3,4,5,6,7,8,9,10); //foreach循环 foreac ...

  7. PHP foreach遍历数组之如何判断当前值已经是数组的最后一个

    先给出foreach的两种语法格式 1,foreach (array_expression as $value) statement 2,foreach (array_expression as $k ...

  8. forEach遍历数组实例

    forEach()取出数组中2的倍数和3的倍数的数 //for IE if(!Array.prototype.forEach){ Array.prototype.forEach = function( ...

  9. ajax遍历数组对象

    success: function(data){ console.log(data); for (var warn in data) { alert(data[warn].kh_lxr); } } d ...

随机推荐

  1. pathon之多线程详解

    一.线程理论 1.什么是线程 线程指的是一条流水线的工作过程 进程根本就不是一个执行单位,进程其实是一个资源单位--------将资源集合到一起: 一个进程内自带一个线程,线程才是CPU上的执行单位 ...

  2. Java JDK下载安装及配置

    下载JDK(Java Development Kit),所有的Java程序都依赖他. 下载地址 www.oracle.com  直接下载 安装JDK如图(傻瓜式安装,下一步下一步):   安装完成后 ...

  3. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  4. vim使用技巧(插入,删除,查找,复制,粘贴,剪切)

    原文链接:http://blog.csdn.net/qq_38646470/article/details/79643000 编程人员很喜欢的编辑器:vim 先搞清楚vim的三种模式: 1.命令模式: ...

  5. [学习笔记]编译sensetime发表的Single View Stereo Matching(SVS)遇到的问题

    最近在研究用深度学习预测图像深度信息的方法,一开始用的是2017年CVPR上Godard大神的monodepth,代码在这里.这篇文章介绍了利用双目的consistency训练网络以对单张图像进行深度 ...

  6. PytorchZerotoAll学习笔记(一)

    Pytorch的安装请参考torch的官方文档,传送门:https://pytorch.org/get-started/locally/ Numpy的复习 如果你之前没有学过Numpy的话,建议去看看 ...

  7. Linux 做网关

    首先创建两张路由表,只需要添加到相应的文件中即可,Linux一共支持255个路由表,rt_tables文件中默认已经存在了三张路由表,分别是:   255  local   254  main   2 ...

  8. 基础业务:滚动到指定位置导航固定(CSS实现)

    最近公司做的业务都是使用Vue.Element写的,涉及到的相应的基础业务像轮播.预加载.懒加载,都是使用 NPM上的工具来实现,原理和基础还是要有的,就来实现几个项目中常用到的业务. 经常见到这样的 ...

  9. 作业MathExam

    MathExam233 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 600 650 • ...

  10. 福大软工1816 · 评分结果 · Alpha冲刺答辩总结

    作业地址:https://edu.cnblogs.com/campus/fzu/Grade2016SE/homework/2462 作业提交准则 按时交 - 有分 晚交 - 0分 迟交一周以上 - 倒 ...