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 ...
随机推荐
- 10min 手写一个内存监控系统
本文的目的在于,尽可能用简单的代码,让大家了解内存监控的原理,及思想.更容易去理解Nagios.Zabbix.Ganglia监控原理,文章最后还有视频教程链接哦,从零敲出来的全过程 思路分为下面几块: ...
- How to: Display a Non-Persistent Object's List View from the Navigation
This example demonstrates how to display a non-persistent object's List View when a navigation item ...
- 发现一个很N且免费的html5拓扑图 关系图 生成组件
传送门:http://visjs.org/ demo代码 <!doctype html> <html> <head> <title>vis.js new ...
- CentOS7.2下配置SOCKS5代理
SOCKS介绍: 1.这里只做简单介绍. SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Int ...
- centos7上的postgresql10安装和配置
安装数据库 安装参考官方文档:https://www.postgresql.org/download/linux/redhat/ 1.Install the repository RPM: yum i ...
- SQLAlchemy并发写入引发的思考
背景 近期公司项目中加了一个积分机制,用户登录签到会获取登录积分,但会出现一种现象就是用户登录时会增加双倍积分,然后生成两个积分记录.此为问题 问题分析 项目采用微服务架构,下图为积分机制流程 ...
- 可道云kodexplorer搭建私有云后的配置优化
一.上传下载速度优化首先明确可道云没有对上传下载做任何限制,速度快慢和网络环境有关.可道云是基于http上传,所以和其他http上传速度基本一致:可以对比其他web系统或网站说附件上传速度.同其他例如 ...
- userdel命令详解
基础命令学习目录首页 原文链接:http://www.360doc.com/content/15/0814/14/2149364_491595091.shtml 命 令: userdel 功能说明: ...
- Homebrew -- 安装与使用
使用 React Native,必须安装的依赖有:Node.Watchman 和 React Native 命令行工具以及 Xcode. 推荐使用Homebrew来安装 Node 和 Watchman ...
- oracle删除死锁进程
在命令行下运行: select SID,SERIAL# from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID; alte ...