• javascript笔记整理(数组对象)


    1、属性

    a.length--设置或返回数组元素的数目

    var a=[1,2,3,45,5];
    alert(a.length=6)    结果:6
    alert(a[5])        结果:undefined

    b.constructor--返回构造函数的引用

    var test=new Array();
    alert(test.constructor==Array);    true

    2、方法

    a.删除或添加类

    1.push()--向数组的末尾添加一个或更多元素,并返回新的长度

    var a=[1,2,3,4,5];
    alert(a.push('a','b'));        结果:7
    alert(a);                      结果:1,2,3,4,5,a,

     2.unshift()--向数组的开头添加一个或更多元素,并返回新的长度

    var a=[1,2,3,4,5];    
    alert(a.unshift('a','b'));    结果:7
    alert(a);                     结果:a,b,1,2,3,4,5

    3.pop()--删除数组的最后一个元素,返回删除的元素

    var a=[1,2,3,4,5];
    alert(a.pop());            结果:5
    alert(a);                  结果:1,2,3,4

     4.shift()--删除数组的第一个元素,返回删除的元素

    var a=[1,2,3,4,5];
    alert(a.pop());            结果:1
    alert(a);                  结果:2,3,4,5

     5.splice(index,num,item1,.....itemX)--删除元素,并向数组添加新元素

      index    必需。从何处开始添加或删除,必须是数值类型(数组的下标)
      num    必需。规定了删除的个数,如果是0,则不删除
      item    可选。需要添加的元素,可以当作替换的元素

      如果有删除的元素,返回删除的元素;如果没有删除的元素,返回为空,添加的元素在index值前面

    var a=[1,2,3,4,5];
    alert(a.splice(0,1,'a','b'));    结果:1
    alert(a);                        结果:a,b,2,3,4,5

     b.数组的转换

     join(separator)--将数组分割成字符串

      separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符,返回结果就是组合成的字符串

    var a=[1,2,3,4,5];
    alert(a.join('-'));    结果:1-2-3-4-5

     c.数组的分割

     slice(start,end)--从某个已有的数组返回选定的元素

      start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

      end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

    var a=[1,2,3,4,5];
    alert(a.slice(1,4));      结果:2,3,4
    alert(a.slice(-4,-1));    结果:2,3,4
    alert(a.slice(-2));       结果:4,5

     不包括,end值的元素

    d.排序(冒泡排序)

    sort(sortby)    对数组的元素进行排序

      sortby:可选。规定排序顺序。必须是函数。如果没有参数,则按照字母的编码进行排序.

    sortby会提供两个参数(a,b)
    a<b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值
    a=b,则返回 0。
    a>b,则返回一个大于 0 的值

    var a=[1,2,3,22,5];
    alert(a.sort());                             结果:1,2,22,3,5
    alert(a.sort(function(a,b){return b-a}));    结果:22,5,3,2,1
    alert(a.sort(function(a,b){return a-b}));    结果:1,2,3,5,22

    f.数组的连接

    concat()--连接两个或更多的数组,并返回结果,对原数组没有任何影响

    var a=[1,2,3,22,5];
    var b=['a','b','c'];
    alert(a.concat(b));    结果:1,2,3,22,5,a,b,c

    代码实践:

    ----------------冒泡排序--------------
    var a=[34,13,8,22,5];
    function arrsort(){
        for(var i=0;i<=this.length;i++){
            for(var j=0;j<=this.length-1;j++){
                var aa=this[j];
                if(this[j]<this[j+1]){
                    this[j]=this[j+1];
                    this[j+1]=aa;
                }
            }
        }
        return this;
    }
    Array.prototype.arrSort=arrsort;
    alert(a.arrSort());
    
    结果:34,22,13,8,5
    -----------------删除数组的重复元素--------------
    var a=[34,13,22,22,5,'aa','aa'];
    function arrsort(){
        for(var i=0;i<=this.length;i++){
            for(var j=0;j<=this.length-1;j++){
                if(this[j]===this[j+1]){
                    this.splice(j,1);
                }
            }
        }
        return this;
    }
    Array.prototype.arrSort=arrsort;
    alert(a.arrSort());    
    
    结果:34,13,22,5,aa
  • 相关阅读:
    一些正则表达式
    iOS汉字中提取首字母
    flutter 按钮弹簧动画AnimationController
    In iOS 14+,debug mode Flutter apps can only be launched from Flutter tooling,IDEs with Flutter plugins or from Xcode.
    Failed to connect to raw.githubusercontent.com port 443: Connection refused
    iOS组件库创建(二)
    iOS组件库创建(一)
    同个电脑多个ssh key的配置
    网络相关总结
    flutter 热更新实现方案—UI资源化(二)
  • 原文地址:https://www.cnblogs.com/chenrf/p/5177643.html
Copyright © 2020-2023  润新知