国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript數(shù)組去重的兩種方法推薦

2019-11-20 10:17:34
字體:
供稿:網(wǎng)友

1、數(shù)組去重;

Array類型并沒有提供去重復的方法,如果要把數(shù)組的重復元素干掉,那得自己想辦法:

方法一:利用indexOf方法;

var aa=[1,3,5,4,3,3,1,4]function arr(arr) {  var result=[]  for(var i=0; i<arr.length; i++){    if(result.indexOf(arr[i])==-1){      result.push(arr[i])    }  }  console.log(result)}      arr(aa)

方法二:

function unique(arr) {  var result = [], isRepeated;  for (var i = 0, len = arr.length; i < len; i++) {    isRepeated = false;    for (var j = 0, len = result.length; j < len; j++) {      if (arr[i] == result[j]) {          isRepeated = true;        break;      }    }    if (!isRepeated) {      result.push(arr[i]);    }  }  return result;}

方法二,總體思路是把數(shù)組元素逐個搬運到另一個數(shù)組,搬運的過程中檢查這個元素是否有重復,如果有就直接丟掉。從嵌套循環(huán)就可以看出,這種方法效率極低。我們可以用一個hashtable的結(jié)構(gòu)記錄已有的元素,這樣就可以避免內(nèi)層循環(huán)。恰好,在Javascript中實現(xiàn)hashtable是極為簡單的,改進如下:

function unique(arr) {  var result = [], hash = {};  for (var i = 0, elem; (elem = arr[i]) != null; i++) {    if (!hash[elem]) {      result.push(elem);      hash[elem] = true;    }  }  return result;}

以上這篇JavaScript數(shù)組去重的兩種方法推薦就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 皋兰县| 鄂托克前旗| 读书| 宁远县| 泗阳县| 新和县| 彭泽县| 六枝特区| 吴江市| 西平县| 赤峰市| 灵丘县| 广丰县| 玛多县| 巴东县| 锡林浩特市| 华阴市| 阿拉善右旗| 游戏| 藁城市| 新泰市| 祁东县| 闽侯县| 恩施市| 文登市| 珠海市| 鹤壁市| 黄浦区| 新巴尔虎左旗| 辰溪县| 太仆寺旗| 凤台县| 吴桥县| 辰溪县| 漾濞| 阳城县| 汾西县| 格尔木市| 温泉县| 昌江| 龙山县|