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),第三个是要便利的数组;
也可以不用写后面两个参数。
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遍历数组对象且去重的更多相关文章
- js遍历数组对象和非数组对象
//---------for用来遍历数组对象 var i,myArr = ["a","b","c"]; ; i < myArr.len ...
- JavaScript 数组对象的去重
JavaScript数组去重 1.原型去重法.通过prototype找到数组的源性对象Array,在数组的原型上添加unique()方法.需要使用的时候使用 点 " . " 进行连 ...
- 遍历数组,对象和JSON
遍历数组 var arr2 = [3,4,5,6,7,8]; //第一种方法 for(var i =0;i<arr.length;i++){ console.log(arr2[i]); } // ...
- foreach遍历数组、数组的转置与方阵的迹
public class Copy1 { public static void main(String[] args) { array1(); //如果不初始化元素,默认为0 int [][] a = ...
- 用数组指针遍历数组,FOR/FOREACH遍历数组
1. 用数组指针遍历一维数组 <?php header("Content-type:text/html;charset=utf-8"); /*用数组指针遍历一位数组的值*/ ...
- foreach遍历数组
foreach遍历一维数组 <?php //PHP数组遍历:foreach //定义数组 $arr=array(1,2,3,4,5,6,7,8,9,10); //foreach循环 foreac ...
- PHP foreach遍历数组之如何判断当前值已经是数组的最后一个
先给出foreach的两种语法格式 1,foreach (array_expression as $value) statement 2,foreach (array_expression as $k ...
- forEach遍历数组实例
forEach()取出数组中2的倍数和3的倍数的数 //for IE if(!Array.prototype.forEach){ Array.prototype.forEach = function( ...
- ajax遍历数组对象
success: function(data){ console.log(data); for (var warn in data) { alert(data[warn].kh_lxr); } } d ...
随机推荐
- python并发编程之多进程理论知识
一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行): egon在一个时间段内有很多任务要做:python备课的任务,写书的任 ...
- 用adb来修改android嵌入式设备的system只读目录下的东西
转的一篇: 以修改hosts文件为例: 由于某些原因,可能需要指定域名对应的IP地址.Android是基于Linux的系统,与Linux类似,通过hosts文件来设置. 在Android下,/etc是 ...
- alibaba/fescar 阿里巴巴 开源 分布式事务中间件
Fescar 是 阿里巴巴 开源的 分布式事务中间件,以 高效 并且对业务 0 侵入 的方式,解决 微服务 场景下面临的分布式事务问题. 示例:https://github.com/windwant/ ...
- CentOS7的安装与配置
Linux系统以前接触的不多,主要是公司的网站部署在了一台安装了Ubuntu系统的机器上.是典型的LAMP架构的产物,因为偶而需要更新网站内容及需要定期备份.所以学习了一些Ubuntu & A ...
- 使用proxyee-down解决百度云下载限速问题
1.在下面页面安装HTTP下载器 https://github.com/proxyee-down-org/proxyee-down#%E4%B8%8B%E8%BD%BD 2.安装switchy插件 h ...
- Linux常规命令总结
Linux常规命令总结,仅供参考: 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显 ...
- linux 启动自动运行
开机启动时自动运行程序 Linux 1.加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置文件继续引导过程,启动其它进程.通常情况下,修改放置在 /etc/rc ...
- NO.8:自学python之路------并行socket网络编程
摘要 一到放假就杂事很多,这次的作业比较复杂,做了一个周,进度又拖了.不过结果还不错. 正文 粘包 在上一节中,如果连续发送过多数据,就可能发生粘包.粘包就是两次发送的数据粘在一起被接收,损坏了数据的 ...
- Annotation 使用备忘2
title: Annotation 使用备忘 date: 2018-01-02 20:48:43 tags: [Annotation] categories: [Programming,Java] - ...
- killall命令详解
基础命令学习目录首页 原文链接:https://blog.csdn.net/tanga842428/article/details/52474250 Linux系统中的killall命令用于杀死指定名 ...