zoukankan      html  css  js  c++  java
  • javascript基础知识-数组

    1.javascript创建数组时无需声明数组大小或者在数组大小变化时重新分配

    2.javascript数组是无类型的

    3.数组元素不一定要连续

    4.针对稀疏数组,length比所有元素的索引都要大

    5.数组的实现是经过优化的,用数字索引来访问数组元素要比访问常规对象属性要快得多

    6.数组直接量允许有可选的结尾逗号,所以[,,]只有两个元素

    创建数组的方法

    1)对象直接量:var primes = [2,3,5,7,11];

    2)调用构造函数Array():var a = new Array();

    可以使用foreach()方法来遍历数组,执行某个函数

    var data = [1,2,3,4,5];
    var sumOfSquares = 0;
    data.forEach(
        function(x){
            sumOfSquares += x*x;
        }
    );
    sumOfSquares

    多维数组

    关于多维数组的一个简单例子

    var table = new Array(10);
    for(var i = 0,len = table.length;i<len ;i++){
        table[i] = new Array(10);
    }
    
    for(var j = 0 ,row = table.length;j < row;j++){
        for(var k = 0,col = table[j].length; k < col;k++){
            table[j][k] = j*k;
        }
    }
    
    var result = table[3][7];

    关于数组的排序

    如果要对一个数组进行不区分大小写的排序,看下面的例子:

    var a = ["ant","Bug","cat","Dog"];
    a.sort();
    a.sort(
        function(s,t){
            var a = s.toLowerCase();
            var b = t.toLowerCase();
            if(a < b) return -1;
            if(a > b) return 1;
            if(a = b) return 0;
        }
    );

    关于indexOf,如何使用indexOf来查找一个数组中某个内容出现的所有位置呢?

    function findAll(a,x){
        var results = [],
              len = a.length,
              pos = 0;
        while(pos < len){
            pos = a.indexOf(x,pos);
            if(pos == -1) break;
            results.push(pos);
            pos = pos + 1;
        }
    return results; }

    关于比较两个数组的内容是否完全相等的方法:

    function equalsArray(a,b){
        if(a.length != b.length) return false;
        for(var i = 0,len = a.length;i < len;i++){
            if(a[i]!== b[i]) return false;
        }
        return true;
    }
  • 相关阅读:
    算法模板——线性欧拉函数
    2818: Gcd
    1688: [Usaco2005 Open]Disease Manangement 疾病管理
    3314: [Usaco2013 Nov]Crowded Cows
    3450: Tyvj1952 Easy
    1664: [Usaco2006 Open]County Fair Events 参加节日庆祝
    1054: [HAOI2008]移动玩具
    1432: [ZJOI2009]Function
    1121: [POI2008]激光发射器SZK
    1113: [Poi2008]海报PLA
  • 原文地址:https://www.cnblogs.com/zjtTT/p/5014826.html
Copyright © 2011-2022 走看看