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()。
完善編輯器中的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");