• js的数组


    http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930499.html

    1.基本操作方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <!---length属性---->
        <script type="text/javascript">
            //数组的声明
            //var arrayObj=new Array ();//1.创建一个数组
            //var arrayObj=new Array(10); //2.
            var arrayObj = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 90];
     
            var testValue = arrayObj[1];
            arrayObj[1] = "新值哦";
            //alert(arrayObj[1]);
            arrayObj.push(88, 77, 66, 55);  //将一个或者多个元素添加到数组的结尾并返回长度
            arrayObj.unshift(44, 33, 22, 11)//将一个或者多个元素添加到数组的开始之前的元素往后推,并返回长度。
             
        </script>
     
       <!---- splice------>
        <script type="text/javascript">
     
            var arr = new Array(6)
            arr[0] = "George"
            arr[1] = "John"
            arr[2] = "Thomas"
            arr[3] = "James"
            arr[4] = "Adrew"
            arr[5] = "Martin"
     
            document.write(arr + "<br />")
            arr.splice(0, 3, "William")//第一个参数表示开始的位置,0表示在最开头,1表示在第一个元素之后。 第二个参数表示删除几个元素   第三个参数 增加的元素
            document.write(arr + "<br />");
     
            arr.pop();//移除数组的最后一个元素
            document.write(arr + " pop() 移除数组的最后一个元素<br />");
            arr.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移
            document.write(arr + " shift() 移除最前一个元素并返回该元素值,数组中元素自动前移<br />");
     
            arr.splice(0, 1)//删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
            document.write(arr + " splice(a,b) 删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素<br />");
    </script>

    2.js数组的三大属性  

      A.length 属性

        length表示数组的长度,从0开始。与其他的语言不一样的地方是,数组的长度是可以变化的。不存在数组越界的情况,但是会出现数组元素丢失,而且就算后面恢复数组的长度,也无法收回。举个列子就很明白了。

      

    复制代码
    <script>
            var arr = [12, 23, 5, 3, 25, 98, 76, 54, 56, 76];
            //定义了一个包含10个数字的数组
            alert(arr.length); //显示数组的长度10
    
            arr.length = 12; //增大数组的长度
    
            alert(arr.length); //显示数组的长度已经变为12
    
            alert(arr[8]); //显示第9个元素的值,为56
    
            arr.length = 5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃
    
            alert(arr[8]); //显示第9个元素已经变为"undefined"
    
            arr.length = 10; //将数组长度恢复为10
    
            alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"
        
    
        </script>
    复制代码

      而且length不但可以显示的指出和修改也可以使隐式的。

    复制代码
      var arr = [12, 23, 5, 3, 25, 98, 76, 54, 56, 76];
    
            alert(arr.length);
    
            arr[15] = 34;
    
            alert(arr.length);//你猜猜变成了多少
    复制代码

      A.prototype 属性

        返回对象类型原型的引用。prototype 属性是 object 共有的。用来提供一个对象的类的一些基本功能。对象的实例拥有这个属性。说的有点含糊。举个栗子

    复制代码
    <script type="text/javascript">
    
            function array_max() {
    
                
                max = this[0];
    
                for (var i = 1; i < this.length; i++) {
    
                    if (max < this[i])
    
                        max = this[i];
                }
                return max;
            }
    
            Array.prototype.max = array_max;
    
            var x = new Array(1, 2, 3, 4, 5, 6);
    
            var y = x.max();
    
        </script>
    复制代码

          本身单词的意思 就是“原形”的意思。就是拿到数组的本身的那个值。 这里返回最大值 6.

      C constructor属性

        表示创建对象的函数。本身单词的意思就是“构造”的意思。是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。

    复制代码
    x = new String("Hi");
    
    if (x.constructor == String) // 进行处理(条件为真)。
    
    
    
    
    function MyFunc {
    
       // 函数体。
    
    }
    
    
    
    y = new MyFunc;
    
    if (y.constructor == MyFunc) // 进行处理(条件为真)。
    复制代码
  • 相关阅读:
    矩阵补全(Matrix Completion)和缺失值预处理
    【机器学习基础】对 softmax 和 cross-entropy 求导
    Mendeley使用小技巧
    [Active Learning] Multi-Criteria-based Active Learning
    回归树(Regression Tree)
    Typora + Mathpix Snip,相见恨晚的神器
    【机器学习之数学】02 梯度下降法、最速下降法、牛顿法、共轭方向法、拟牛顿法
    【机器学习之数学】01 导数、偏导数、方向导数、梯度
    “卷积神经网络(Convolutional Neural Network,CNN)”之问
    一篇带你完全掌握线程的博客
  • 原文地址:https://www.cnblogs.com/daishuguang/p/3674466.html
Copyright © 2020-2023  润新知