zoukankan      html  css  js  c++  java
  • JavaScript 数组

    • Array
        数组是包含子项并由索引迭代子项的一种对象,索引从零开始。
    // 使用构造函数创建数组
    var foo = new Array;
    // 使用数组语法创建数组
    var bar = [];
        需要注意的是,如果传入的是数字类型的值时,以上2种创建数组的方式是有所不同的。
    // 数组语法情况下
    var foo = [ 100 ];
    alert( foo[ 0 ] ); // 100
    alert( foo.length ); // 1
    // 构造函数情况下
    var bar = new Array( 100 );
    alert( bar[ 0 ] ); // undefined
    alert( bar.length ); // 100
        数组的常用方法
    // 在数组上使用 push(), pop(), unshift() 和 shift() 方法
    var foo = [];
     
    foo.push( "a" );
    foo.push( "b" );
     
    alert( foo[ 0 ] ); // a
    alert( foo[ 1 ] ); // b
     
    alert( foo.length ); // 2
     
    foo.pop();
     
    alert( foo[ 0 ] ); // a
    alert( foo[ 1 ] ); // undefined
     
    alert( foo.length ); // 1
     
    foo.unshift( "z" );
     
    alert( foo[ 0 ] ); // z
    alert( foo[ 1 ] ); // a
     
    alert( foo.length ); // 2
     
    foo.shift();
     
    alert( foo[ 0 ] ); // a
    alert( foo[ 1 ] ); // undefined
     
    alert( foo.length ); // 1
    • 数组的方法和属性
      • .length
        .length属性可以确定数组中元素的数量。
    var myArray = [ "hello", "world", "!" ];
    console.log( myArray.length ); // 3
        你可以使用.length属性对数组进行遍历。
    var myArray = [ "hello", "world", "!" ];
    for ( var i = 0; i < myArray.length; i = i + 1 ) {
    console.log( myArray[ i ] );
    }
      • .concat()
        .concat()方法用于串联两个或更多的数组。
    var myArray = [ 2, 3, 4 ];
    var myOtherArray = [ 5, 6, 7 ];
    var wholeArray = myArray.concat( myOtherArray ); // [ 2, 3, 4, 5, 6, 7 ]
      • .join()
        .join()方法用于创建一个由数组内元素组成的字符串,可以指定每个元素之间的分隔符,如果没有指定那么默认为逗号。
    // 连接元素
    var myArray = [ "hello", "world", "!" ];
    // 默认逗号为分隔符
    console.log( myArray.join() ); // "hello,world,!"
    // 也可以指定分隔符
    console.log( myArray.join( " " ) ); // "hello world !";
    console.log( myArray.join( "!!" ) ); // "hello!!world!!!";
    // 指定为无分隔符
    console.log( myArray.join( "" ) ); // "helloworld!"
      • .push()
        .push()方法将元素添加到数组的末尾并扩展这个数组,你可以使用索引来设置数组元素的值,但是索引有可能是不确定的,那么使用该方法添加元素到数组中是比较安全的做法。
    var myArray = [];
    myArray[ 0 ] = "hello";
    myArray[ 1 ] = "world";
    myArray[ 3 ] = "!";
    console.log( myArray ); // [ "hello", "world", undefined, "!" ];
    var foo = [];
    foo.push( "a" );
    foo.push( "b" );
     
      • .pop()
        .pop()方法用于移除数组中的最后一个元素,与.push()方法的功能相反。
    var myArray = [];
    myArray.push( 0 ); // [ 0 ]
    myArray.push( 2 ); // [ 0 , 2 ]
    myArray.push( 7 ); // [ 0 , 2 , 7 ]
    myArray.pop(); // [ 0 , 2 ]
      • .reverse()
        .reverse()方法输出反序的数组序列。
    var myArray = [ "world" , "hello" ];
    myArray.reverse(); // [ "hello", "world" ]
      • .shift()
        .shift()方法用于删除数组的第一个元素,与.push()方法配合使用,可以将数组当做队列使用。
    // 队列
    var myArray = [];
    myArray.push( 0 ); // [ 0 ]
    myArray.push( 2 ); // [ 0 , 2 ]
    myArray.push( 7 ); // [ 0 , 2 , 7 ]
    myArray.shift(); // [ 2 , 7 ]
      • .slice()
        .slice()方法用于提取数组的一部分生成一个新的数组,这个方法需要一个参数,这个参数是数组提取的开始序号。
    var myArray = [ 1, 2, 3, 4, 5, 6, 7, 8 ];
    var newArray = myArray.slice( 3 );
    console.log( myArray ); // [ 1, 2, 3, 4, 5, 6, 7, 8 ]
    console.log( newArray ); // [ 4, 5, 6, 7, 8 ]
      • .splice()
        .splice()方法用于移除一部分元素并新增一部分元素,该方法至少需要3个参数。
    myArray.splice( index, length, values, ... );
        index:开始序号
        length:被移除元素的数量
        values:插入到指定序号位置的值
    var myArray = [ 0, 7, 8, 5 ];
    myArray.splice( 1, 2, 1, 2, 3, 4 );
    console.log( myArray ); // [ 0, 1, 2, 3, 4, 5 ]
      • .sort()
        .sort()方法用于数组排序,它需要一个参数,这个参数是一个比较方法,如果没有这样的方法,那么默认按正序排列。
    // 默认情况的排序
    var myArray = [ 3, 4, 6, 1 ];
    myArray.sort(); // 1, 3, 4, 6
    // 设置比较方法的排序
    function descending( a, b ) {
    return b - a;
    }
    var myArray = [ 3, 4, 6, 1 ];
    myArray.sort( descending ); // [ 6, 4, 3, 1 ]
        descending方法的返回值是非常重要的。如果返回值是小于零的,那么a的序号是在b的前面,如果返回值是大于0的,则反之,如果返回值是等于0 的,那么两个元素的索引是相同的。
      • .unshift()
        .unshift()方法用于在数组的第一个位置插入元素。
    var myArray = [];
    myArray.unshift( 0 ); // [ 0 ]
    myArray.unshift( 2 ); // [ 2 , 0 ]
    myArray.unshift( 7 ); // [ 7 , 2 , 0 ]
      • .forEach()
        .forEach()方法用于遍历数组。这个方法有三个参数,分别是Element(元素)、Index(元素在数组中的序号)和Array(数组) 。
    function printElement( elem ) {
    console.log( elem );
    }
    function printElementAndIndex( elem, index ) {
    console.log( "Index " + index + ": " + elem );
    }
    function negateElement( elem, index, array ) {
    array[ index ] = -elem;
    }
    myArray = [ 1, 2, 3, 4, 5 ];
    myArray.forEach( printElement );
    myArray.forEach( printElementAndIndex );
    myArray.forEach( negateElement );
  • 相关阅读:
    uva-11361
    HDU
    LCS
    CodeForces
    linux 有趣的命令组合
    opencv识别封闭区域 并标记该区域
    宜出行人口热力图
    美团酒店
    赶集租房
    发送企业微信应用通知
  • 原文地址:https://www.cnblogs.com/liusuqi/p/3252247.html
Copyright © 2011-2022 走看看