• 2012.09.09 js


    一转眼,就从5月跑到9月了,很快就国庆了。不知不觉时间走了那么多,很快这年也会过了。

    还差4天,就在新公司呆够半年了。 这半年来,很多学习计划都没有坚持。 这半年来,技术上也感觉没什么进步,但随着加入一些技术群,还有和同事的接触,能感到比以前明显的压迫感,一种担心被淘汰的压迫感。

    昨晚继续看了下《javascript高级程序设计》,现在来记录一下昨天看了的内容和收获:

    1. 昨天看的是“12章 表格排序”,这里有个sort方法的扩展使用。 sort方法是Array对象的原生方法,可以这样使用:

    var arr = ['a','c','b'];
    arr.sort(); // return ['a','b','c'] ;
    

     一般sort方法用于字符串时是最准确的,若不加修改,就用于数字的排序,可能会出错,因为sort方法会默认把数组元素当字符串排序,

    那么当出现1,123,2这样的数组时, 123会排在2前面。

    而sort方法是可以接受一个函数类型的参数的,这个参数需要接受两个参数,假如是a和b,如下:

    function compare(a,b)
    {
        return a-b;    
    }
    
    var arr = [1,123,2,234];
    arr.sort(compare); // return [1,2,123,234];

    通过以上的方法,可以正确的对数字数组进行排序。

    当然,如果只是到此为止,那也没什么好写的,我看的那一章,是对表格排序,看的小节里说的是对对象的排序,也就是tr对象的数组。

    具体代码就不敲了,因为sort方法可以传入自定义的函数,所以函数也就可以选择用数组对象中的某些属性进行排序。

    这个特点可以进一步使用在对json数组的排序或其他情况下。

    2. 函数生成器。

    说的是用闭包,通过一个参数,自动生成sort方法中需要用到的排序函数(传入参数生成按某列进行排序的比较函数)。这样对闭包的用法用得比较少。感觉很不错。

                                                        --2012.09.09

  • 相关阅读:
    2018年底,IOS面试题的复习之OC的反射机制
    Object-C的类可以多重继承吗?可以实现多个接口吗?category是什么?重写一个类的方式用继承好还是分类好,为什么?
    frame和bounds有什么不同?
    【IOS】#import和#include有什么区别,@class呢,#import<>跟#import ""有什么区别?
    IOS MVC与MVVM的区别
    IOS面试题2018/11/17
    OC的反射机制
    git使用
    mac git 删除本地仓库文件
    Android hide the app icon but show the icon most left
  • 原文地址:https://www.cnblogs.com/bee0060/p/2677423.html
Copyright © 2020-2023  润新知