• 几个阿里笔试题


    1.

       var data = {
           a : 1,
           b : 2,
           c : 3,
           d : 4
       };
       var result = Object.keys(data).filter(function(x) {
                        return data[x] > 2;
                    });
       console.log(result);  //["c","d"]

    /*
    解释:Object.keys()以数组的形式输出可枚举的属性名,在此题中Object.keys(data)返回["a","b","c","d"]
    filter()为数组的一个迭代方法,对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组。方法中的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本身
    即:function(item, index, array)
    */

    2.考察的对象的创建

      function obj(name){
           if (name){
               return new obj(name);
           }       
       }
       obj.prototype.name  = "name2";
       var a = obj("name1");
       var b = new obj;
       console.log(a.name);  //"name1"
       console.log(b.name);  //"name2"

    3.斐波那契数列

       function getNthFibonacci(count) {
          if(count < 2) {
             return 1;
          } else {
             return arguments.callee(count-1) + arguments.callee(count-2); //利用arguments.callee解除函数与函数名之间的耦合
          }
       }
       console.log(getNthFibonacci(0));  //1
       console.log(getNthFibonacci(4));  //5
  • 相关阅读:
    iOS加载动态图的两种方法
    python初探
    博客园封笔
    office的分栏技巧
    关于排序...
    LaTex 学习笔记
    vim 学习笔记
    iOS 编程学习笔记之Foundation框架
    数论
    扫描线概览
  • 原文地址:https://www.cnblogs.com/webliu/p/4739768.html
Copyright © 2020-2023  润新知