zoukankan      html  css  js  c++  java
  • 【javascript语言精粹】第六章 数组

    1.检测数组

    var is_array = function(value){
        return value && typeof value === 'object' &&
                typeof value.length === 'number' &&
                typeof value.slice === 'function' &&
                !(value.propertyIsEnumerable('length'));
    }

    2.对是否改变原数组的常用方法归纳

    改变原数组的:

    1. shift:  将第一个元素删除并且返回删除元素,空即为undefined
    2. unshift:向数组开头添加元素,并返回新的长度
    3. pop:删除最后一个并返回删除的元素
    4. push:向数组末尾添加元素,并返回新的长度
    5. reverse:颠倒数组顺序
    6. sort:对数组排序
    7. splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回

    不改变原数组的:

    1. concat:连接多个数组,返回新的数组
    2. join:将数组中所有元素以参数作为分隔符放入一个字符
    3. slice:slice(start,end),返回选定元素
    4. map,filter,forEach,some,every等不改变原数组

    splice方法:

    1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数)

    2.插入-向数组指定位置插入任意项元素。三个参数,第一个参数(其实位置),第二个参数(0),第三个参数(插入的项)

    3.替换-向数组指定位置插入任意项元素,同时删除任意数量的项,三个参数。第一个参数(起始位置),第二个参数(删除的项数),第三个参数(插入任意数量的项)

    var lang = ["php","java","javascript"];   
    //删除   
    var removed = lang.splice(1,1);   
    alert(lang); //php,javascript   
    alert(removed); //java ,返回删除的项   
    //插入   
    var insert = lang.splice(0,0,"asp"); //从第0个位置开始插入   
    alert(insert); //返回空数组   
    alert(lang); //asp,php,javascript   
    //替换   
    var replace = lang.splice(1,1,"c#","ruby"); //删除一项,插入两项   
    alert(lang); //asp,c#,ruby ,javascript  

     sort方法

    Javascript方法的默认比较函数假定所有要排序的元素都是字符串,因此在比较数字时可以用自己的比较函数来替换默认的比较函数。

    var m = ['aa','bb',1,4,2,5];
    m.sort(function(a,b){
        if(a === b){
            return 0;
        }
        if(typeof a === typeof b){
            return a < b ? -1 : 1;
        }
        return typeof a < typeof b ? -1 : 1;
    });
  • 相关阅读:
    scrum站立会议简介
    四人小组建立与项目选题
    每周工作量及进度统计
    null与对象的复杂关系(typeof null的结果是object的原因)
    CSS外边距合并(塌陷/margin越界)
    CSS负边距margin的应用
    CSS负margin的影响
    清除浮动的方式
    CSS文本阴影实例
    PWA之Service work
  • 原文地址:https://www.cnblogs.com/fjl-vxee/p/8631572.html
Copyright © 2011-2022 走看看