zoukankan      html  css  js  c++  java
  • 第一页 数组学习

    1、一维数组

      (1) var numbers = new Array();    (2)var numbers = new Array(7);  (3) var numbers =  new Array(1,2,3,4);

      var numbers = [0,1,2,3,4,5,6,7,8,9];   

      添加数组的结尾:     numbers[numbers.length] = 10;    (或者) numbers.push(11,12,13);         

      将数值添加到数组的首端: numbers.unshift(-1,-2)
      删除最后一个:      numbers.pop();    

      删除首端元素:      numbers.shift();

      删除索引为2的位置开始的2个元素:    numbers.splice(2, 2)    

      splice方法接收的第一个参数,表示想要删除或插入的元素的索引值。第二个参数是删除
    元素的个数。第三个参数往后,就是要添
    加到数组里的值;例如: numbers.splice(5,0,2,3,4);这个就表示索引5的位置开始,删除0个元素,然后在其后面插入2,3,4三个元素

         * 在js中数组是没有长度限制的,可以无限添加,但是在C和Java中定义数组的时候就要先定义数组的长度。
    2、二维多维数组

           //二维数组
            var array2 = [];
            for (var i = 0; i < 4; i++) {
                array2[i] = [];
                for (var j = 0; j < 4; j++) {
                    array2[i][j] = i + j;
                }
            }
            console.log(array2);
            //三维数组
            var matrix3x3x3 = [];
            for (var i = 0; i < 3; i++) {
                matrix3x3x3[i] = [];
                for (var j = 0; j < 3; j++) {
                    matrix3x3x3[i][j] = [];
                    for (var z = 0; z < 3; z++) {
                        matrix3x3x3[i][j][z] = i + j + z;
                    }
                }
            }
            console.log(matrix3x3x3);

    3、JavaScript 的数组方法参考
    concat   连接2个或更多数组,并返回结果
    every   对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
    filter   对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
    forEach   对数组中的每一项运行给定函数。这个方法没有返回值
    join   将所有的数组元素连接成一个字符串
    indexOf   返回第一个与给定参数相等的数组元素的索引,没有找到则返回-1
    lastIndexOf   返回在数组中搜索到的与给定参数相等的元素的索引里最大的值
    map   对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
    reverse   颠倒数组中元素的顺序,原先第一个元素现在变成最后一个,同样原先的最后一个元素变成了现在
    的第一个
    slice   传入索引值,将数组里对应索引范围内的元素作为新数组返回
    some   对数组中的每一项运行给定函数,如果任一项返回true,则返回true
    sort   按照字母顺序对数组排序,支持传入指定排序方法的函数作为参数
    toString   将数组作为字符串返回
    valueOf toString类似,将数组作为字符串返回

          //  数组合并 concat
            var zero = 0;
            var positiveNumbers = [1, 2, 3];
            var negativeNumbers = [-3, -2, -1];
            var numbers = negativeNumbers.concat(positiveNumbers);
            console.log(numbers)
       //every
            var isEven = function (x) {
                // 如果x是2的倍数,就返回true
             //   console.log(x);
                return (x % 2 == 0) ? true : false;
                // 也可以写成return (x % 2 == 0) ? true : false
            };
            var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
            console.log(numbers.filter(isEven))
            //排序
            var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
             numbers.sort();
            console.log(numbers)//结果(15) [1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9]
         //sort方法在对数组做排序时,把元素默认成字符串进行相 互比较。
         
            //排序
            var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
          //  numbers.sort();
            numbers.sort(function (a, b) {
                return a - b;
            });
            function compare(a, b) {
                if (a < b) {
                    return -1;
                }
                if (a > b) {
                    return 1;
                }
                // a必须等于
                return 0;
            }
            numbers.sort(compare);
            console.log(numbers)//结果(15)[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
       
      //搜索
            var numbers = [1, 2, 3, 4, 5, 6, 3,5,3,5,87,3];
            console.log(numbers.lastIndexOf(33))//从数组尾端开始查找匹配的  返回与其相同的值的索引  没有匹配到返回-1
            console.log(numbers.indexOf(3))//从数组首端开始查找匹配的  返回与其相同的值的索引  没有匹配到返回-1




      

  • 相关阅读:
    20200924-3 单元测试,结对
    20200924-1 每周例行报告
    20200924-5 四则运算试题生成,结对
    20200924-2 功能测试
    20200924-4 代码规范,结对要求
    20200929-git地址
    20200917-1 每周例行报告
    20200917-2 词频统计
    20200917-3 白名单
    20200910-2 博客作业
  • 原文地址:https://www.cnblogs.com/lbjcoder/p/9330891.html
Copyright © 2011-2022 走看看