• js:数据结构笔记1---数组


    JS中数组:

    • 只是一种特殊的对象,比其他语言中效率低;
    • 属性是用来表示偏移量的索引;在JS中,数字索引在内部被转化为字符串类型(这也是为什么写对象属性的时候可以不叫引号),因为对象中的属性必须是字符串类型;

    操作:

    • 判断:isArray();
    • 复制:
      • 浅复制:
        var arr1 = arr2;
      • 深复制:
        function copy(arr1) {
           var arr2 = [];
           for(var i = 0; i < arr1.length; i++) {
              arr2[i] = arr1[i];
           }
           return arr2;
        }
        
    • 查找: indexOf/lastIndexOf;
    • 由已有的数组创建:concat()/splice();
    • 添加:push()/unshift()/splice()/arr[arr.length];
    • 删除:pop()/shift()/splice();
    • 排序:reverse()/sort()[字典顺序排序];
      数字正序排序:
      function compare(num1,num2) {
         return num1 - num2;
      };
      字符正序排序:
      function compare(str1,str2) {
         if(str1 > str2) return 1;
         else return -1;
      }
      字典顺序:0-9A-Za-z
    • 与字符串:splite();  join()/toString();
    • 迭代:
      • 不产生新数组:forEach()/every()/some()/reduce()/reduceRight();
      • 产生新数组:map()/filter();

    数组其他相关:

    •  二维数组:
      • 初始化:
    Array.matrix = function(numrows,numcols,inital) {
      var arr = [];
      for(var i = 0; i < numrows; ++i) {
        var colnums = [];
        for(var j = 0; j < numcols; ++j) {
          colnums[j] = inital;
        }      
       arr[i] = colnums;  
      }
      rerurn arr;
    }
    • 对象数组 
    • 对象中的数组:

    demo

  • 相关阅读:
    【正则】——作业计算数学运算
    【面向对象】-类和对象作业
    【递归】
    笔记本linux问题记录
    监听器模式(Listener)
    Java引用类型
    Dubbo-服务发布-本地暴露/远程暴露
    完成一个Spring的自定义配置
    Dubbo SPI-Adaptive详解
    Dubbo-动态编译
  • 原文地址:https://www.cnblogs.com/jinkspeng/p/4020455.html
Copyright © 2020-2023  润新知