zoukankan      html  css  js  c++  java
  • javascript 数组方法解析

    测试数组:testArrayA = ['a','b','c','d','e'] , testArrayB = [2,3,6,1]

    1、删除数组最后一项(pop()):

      返回删除那一项的值:var pop = testArrayA.pop(); //pop = 'e';

    2、删除数组第一项(shift()):

      返回删除那一项的值:var shift = testArrayA.shift(); //shift = 'a'; 

    3、删除数组的某一项数据(delete array[])

      删除数组的第二项为:delete testArrayA[1]

      说明:请注意,该方法会修改原数组,但是不会修改数组的长度即数组的length 属性的值不会改变,被删除的值会替换成undefined;

    4、添加一个值到数组的最后一项(push(param)):

      返回添加值之后数组的长度:var pushLength = testArrayA.push('f'); //pushLength = testArrayA.length = 6;

    5、添加一个值到数组的第一项(unshift(param)):

      返回添加值之后数组的长度:var unshiftLength = testArrayA.unshift('f'); //unshiftLength = testArrayA.length = 6;

    6、数组反序排列(reverse()):

      返回反序后的数组:var reverseArray = testArrayA.reverse(); //reverseArray = ['e','d','c','b','a'];

    7、数组转换字符串(join(param)):

      返回转换后的字符串:var joinString = testArrayA.join(''); //joinString = 'abcde'; 根据参数对数组进行连接

    8、判断指定值是否在数组中存在(indexOf(param)):

      如果存在返回参数在数组中的位置,如果不存在返回-1:var indexOf = testArrayA.indexOf('e'); // indexOf = 4;

    9、截取子数组(slice(start,end)) 备注:slice(start,end) 方法可从已有的数组中返回选定的子数组:

      start: 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

      end: 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

      返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素:

      说明: 请注意,该方法并不会修改数组,而是返回一个子数组(如果返回来的只有一个元素也可以当单个的值来进行比较)。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

    10、截取子数组(splice(index,howmany,param1,param2...)) 备注:splice(index,howmany,param1,param2...)方法可从已有的数组中返回选定的子数组:

      说明:请注意,该方法会修改原数组,而返回一个子数组(如果返回来的只有一个元素也可以当单个的值来进行比较)

      index: 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

      howmany: 可选。规定从何处结束选取,如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。要删除的项目数量。如果设置为 0,则不会删除项目。

      说明:howmany 如果小于等于0,就不会删除元素。如果存在param,则只是在index开始插入。

      param1,param2... : 可选。把这些参数从index位置开始插入当前数组。

    11、合并数组concat(paramArray):

      返回合并后的数组:var concatArray = testArrayA.concat(testArrayB); //concatArray = ['a','b','c','d','e',2,3,6,1];

    12、数组排序(sort()自然排序生序):

      对数组进行排序:

      自然排序:var sortArray = testArrayB.sort();

      自定义排序:

      (1)升序:var sortArray = testArrayB.sort(function(obj1,obj2) {

        return obj1 - obj2;

      })

      (2)降序:var sortArray = testArrayB.sort(function(obj1,obj2) {

        return obj2 - obj1;

      })

      说明:如果obj1和obj2 则 return obj1.attr - obj2.attr;(按照对象obj1 和对象obj2)

      例如:

      <script>

        function Person(name,age) {

          this.name = name;

          this.age = age;  

        }

        var personArray = new Array();

        personArray.push(new Person('jiang',26));

        personArray.push(new Person('jiang1',23));

        personArray.push(new Person('jiang2',27));

        personArray.push(new Person('jiang3',24));

        var sortArray = personArray.sort(function(person1,person2) {

          return person1.age - person2.age;

        })

      </script>

    13、去除数组中重复的对象数据:

      //去掉数组中重复的数据

      function array_de_weight (optArray) {

          var tempList = new Array();

             for(var i = 0; i < optArray.length; i++ ) {
       if(i == 0) {
    tempList.push(optArray[i]);
      }else {
      var flag = false;
      for(var y = 0; y < tempList.length;y ++) {
       if( optArray[i].OFFER_ID == tempList[y].OFFER_ID) {
       flag = true;
      break;
      }
       }
       if(!flag) {
      tempList.push(optArray[i]);
       }
       }
       }
       return tempList;
      }

      

         

      

  • 相关阅读:
    UIStoryBoard 中修改控件borderColor
    iOS自定义AlertView 与 ActionSheet 遮罩提示+弹出动画
    iOS开发 UIWebView+JavaScript 交互总结
    【注入攻击】SQL注入(不完整总结)
    [内存溢出]栈溢出基础版
    [Windows驱动开发]之内存管理
    [找工作]程序员面试宝典【笔记】(part 1)
    [Windows安装]安装程序无法创建新的系统分区,也无法定位现有系统分区
    M1卡分析
    [逆向/壳]脱壳方法
  • 原文地址:https://www.cnblogs.com/junhuijiang/p/6279404.html
Copyright © 2011-2022 走看看