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 })