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");