天天看點

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

繼續閱讀