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

 

 

 

关注微信公众号

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com