• 几个js函数


      1 <!DOCTYPE html>
      2 <html xmlns="http://www.w3.org/1999/xhtml">
      3 <head>
      4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      5     <title>函数</title>
      6 </head>
      7 <body>
      8     <script type="text/javascript">
      9     //使用 for 循环、while 循环和递归写出 3 个函数来计算给定数列的总和。
     10     var a1 = [1,2,3,4,5,6,2,3,4,5,6,3666666];
     11     function sum(m){
     12         var len = m.length;
     13         var result = 0;
     14         for(var i=0;i<len;i++){
     15                  result = result+m[i];
     16         }
     17         alert('使用 for 循环弹出的结果'+result);
     18     }
     19     sum(a1);
     20     function sum1(n){
     21         var len = n.length;
     22         var result = 0;
     23         var i = 0;
     24         while(i<len){
     25             result = result+n[i];
     26             i++;
     27         };
     28         alert('使用 while弹出的结果'+result);
     29     }
     30     sum1(a1);
     31     function sum2(p,n){
     32         if(n<0){
     33             return 0;
     34         }else{ 
     35             return p[n]+arguments.callee(p,n-1);
     36         }
     37     }
     38     alert('使用递归弹出的结果'+sum2(a1,a1.length-1));
     39     //编写一个交错合并列表元素的函数。例如:给定的两个列表为[a,B,C]和[1,2,3],函数返回[a,1,B,2,C,3]。
     40     var a2 = ['a','c','e','g','i'];
     41     var a3 = ['b','d','f','h','j'];
     42     function add(m,n){
     43         var a4 = [];
     44         if (m.length>0&&n.length>0) {        
     45             for (var i=0; i<m.length;i++) {                            
     46                     a4.push(m[i]);
     47                     a4.push(n[i]);
     48             };
     49             return a4;            
     50         }else if(m.length=0){
     51             return n;
     52         }else if (n.length=0){
     53             return m;
     54         };
     55     }
     56     alert(add(a2,a3));
     57     //编写一个计算前 100 位斐波那契数的函数。根据定义,斐波那契序列的前两位数字是 0 和1,随后的每个数字是前两个数字的和。例如,前 10 位斐波那契数为:0,1,1,2,3,5,8,13,21,34。
     58     function fei(num){
     59         var result = [0,1];
     60         if(num>3){
     61             for (var i=2;i<num;i++) {
     62                 result[i] = result[i-1]+result[i-2];
     63             };
     64             return result;
     65         }else{
     66             return result;
     67         };
     68     }
     69     alert('前 100 位斐波那契数以此为:'+fei(100));
     70     // 编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为 95021。
     71    

          var a5 = [98,89,9,8];
          function list(arr){
            var arr1 = [];
            for(var i=0;i<arr.length;i++){
            arr1.push(arr[i].toString());
          }
          function compare(str1, str2){
            if(str1+str2 < str2+str1){
              return 1;
            }else if(str1+str2> str2+str1){
              return -1;
            }else{
              return 0;
            }

            }
            alert('所能组成的最大数字是:'+arr1.sort(compare).join(''));
          }
          list(a5);

           
    101     
    102     // 编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是 100 的程序,并输出所有的可能性。例如:1 + 2 + 34 – 5 + 67 – 8 + 9 = 100。
    103     var str = "123456789";
    104     var ways = [];
    105     function exec(str, pre) {
    106         var a = str.split("");
    107         if( str.length === 2 ){
    108             ways.push( pre + a.join("+") );
    109             ways.push( pre + a.join("-") );
    110             ways.push( pre + str );
    111         }else{
    112             var c = str.charAt(0),
    113             s = str.substring(1);
    114             exec( s, pre + c + "+" );
    115             exec( s, pre + c + "-" );
    116             exec( s, pre + c );
    117         }
    118     }
    119     exec( str, "" );
    120     for (var i = 0; i < ways.length; i++) {
    121         if( eval( ways[i] ) === 100 ){
    122             alert( ways[i] + " = 100" );
    123         }
    124     };
    125     </script>
    126 </body>
    127 </html>
  • 相关阅读:
    一步一步学Silverlight 2系列(2):基本控件
    一步一步学Silverlight 2系列(12):数据与通信之WebClient
    一步一步学Silverlight 2系列(10):使用用户控件
    非常精彩的Silverlight 2控件样式
    给GridView添加显示服务端图片的列
    C# 实体类生成工具
    多线程(三) 生产者和消费者
    C# 实现多线程的同步方法
    多线程(五) 多线程的自动管理(定时器)
    ThreadPool 线程池
  • 原文地址:https://www.cnblogs.com/zhuzhenzhen/p/4498370.html
Copyright © 2020-2023  润新知