数组中的元素的基本的操作方式

来源:互联网 发布:人工智能要学什么 编辑:程序博客网 时间:2024/06/01 08:25

数组中的元素的基本的操作方式

一.不直接修改数组

使用场景:
方式1.移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组

function remove(arr, item) {      var result=[];      for(var i=0; i<arr.length; i++){          if(arr[i]!=item){              result.push(arr[i]);          }      }      return result;  } 

方式2(避免操作原数组),

function remove(arr, item) {           var result=[];          arr.forEach(function(element){              if(element!=item){                  result.push(element);              }          });       return result;  } 

二.直接修改数组

使用场景:
1.移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组

方式1(减少循环计数,修正位移)

function remove(arr, item) {       for(var i = 0; i < arr.length; i++){           if(arr[i] == item){               //splice方法会改变数组长度,当减掉一个元素后,后面的元素都会前移,因此需要相应减少i的值               arr.splice(i,1);               i--;           }       }       return arr;   }  

方式—-倒序删除(可以避免位移产生的误差)2

function remove(arr, item) {      for(var i=arr.length-1;i>=0;i--)        {         if(arr[i]==item)           {             arr.splice(i,1);            }         }      return arr;  }  

检测数组重复值

使用场景:
排除数组中重复出现的元素值
方式1:

/**检测是否有重复值 */public static hashTable(arr:any[]){        var result = [], hash = {};        for (var i = 0, elem; (elem = arr[i]) != null; i++) {            if (!hash[elem]) {                result.push(elem);                hash[elem] = true;            }        }        return result;    }

原创粉丝点击