zoukankan      html  css  js  c++  java
  • 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");
     
  • 相关阅读:
    java线程管理
    java进程间通信
    Possible multiple enumeration of IEnumerable
    Adding Search
    Working with SQL Server LocalDB
    ASP.NET Razor
    ASP.NET Razor
    modelstate.isvalid false
    Razor Intro
    open Command window here
  • 原文地址:https://www.cnblogs.com/wangliuyong/p/8681771.html
Copyright © 2011-2022 走看看