arr.forEach()與for...in的用法舉例


1.forEach()

將給定的數字轉換成羅馬數字。

所有返回的 羅馬數字 都應該是大寫形式。

 1 function convert(num) {
 2 var str = "";
 3 var nums = [1000,900,500,400,100,90,50,40,10,9,5,4,1];
 4 var roma = ["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"];
5 nums.forEach(function(item,index,nums){ 6   while(num >= item){ 7   str += roma[index]; 8   num -= item; 9   } 10   }); 11   return str; 12 } 13 convert(36);

 2.

for....in用於數組時:

DNA 鏈缺少配對的鹼基。依據每一個鹼基,為其找到配對的鹼基,然后將結果作為第二個數組返回。

Base pairs(鹼基對) 是一對 AT 和 CG,為給定的字母匹配缺失的鹼基。

在每一個數組中將給定的字母作為第一個鹼基返回。

例如,對於輸入的 GCG,相應地返回 [["G", "C"], ["C","G"],["G", "C"]]

字母和與之配對的字母在一個數組內,然后所有數組再被組織起來封裝進一個數組。

 1 function pair(str) {
 2     var obj ={'A':'T','T':'A','C':'G','G':'C'};
 3     var newArr = [];
 4   
 5     for(var i in str){
 6       newArr.push([str[i],obj[str[i]]]);
 7     }
 8     return newArr;
 9 }
10 
11 pair("GCG");G");

 for...in用於對象時:

此時i表示對象的屬性,arr則表示這個對象。

所有的東西都是真的!
完善編輯器中的every函數,如果集合(collection)中的所有對象都存在對應的屬性(pre),並且屬性(pre)對應的值為真。函數返回ture。反之,返回false。
記住:你只能通過中括號來訪問對象的變量屬性(pre)。
提示:你可以有多種實現方式,最簡潔的方式莫過於 Array.prototype.every()
function every(collection, pre) {
  var i='';
  var bCheck=true;//假設為真
  for(i in collection){
    if(!collection[i][pre]){
      bCheck=false;
    }
  }
  return bCheck;
}
every([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex");

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM