中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript數組去重的方法

發布時間:2022-03-11 17:21:03 來源:億速云 閱讀:164 作者:iii 欄目:web開發

今天小編給大家分享一下javascript數組去重的方法的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

  第1個功能:數組去重。

  實現方案1:

  思路:對待去重的數組arr進行for循環遍歷,然后在新的數組newArr中去查找當前被遍歷的元素arr[i],如果返回值為-1,說明在新的數組中還沒有出現過當前被遍歷的元素arr[i],則把該元素放到新的數組中。當數組arr遍歷完以后,新數組newArr就是去重以后的數組。

  var arr = [1, 4, 7, 4, 3, 2, 1, 4, 7];

  var newArr = [];

  for(var i = 0; i < arr.length; i++) {

  if(newArr.indexOf(arr[i]) === -1) {

  newArr.push(arr[i]);

  }

  }

  console.log(newArr);

  實現方案2:

  思路:該方案和方案1思路相同,只不過是使用reduce方法進行遍歷。

  var arr = [1, 4, 7, 4, 3, 2, 1, 4, 7];

  var newArr = arr.reduce((newArr, current) => {

  if(newArr.indexOf(current) === -1) {

  newArr.push(current);

  }

  return newArr;

  }, []);

  console.log(newArr);

  實現方案3:

  思路:當前方案使用了ES6新增的set數據解構的去重特性,然后在將生成的set對象轉換成數組。

  var arr = [1, 4, 7, 4, 3, 2, 1, 4, 7];

  var newArr = Array.from(new Set(arr));

  console.log(newArr);

  第2個功能:在數組中找出最小值(或者最大值)。

  實現方案1:

  思路:假設第一個數組元素是最小值,然后對數組后面的元素進行遍歷、判斷,如果當前被遍歷的元素小于iMin變量的值,說明iMin變量的值還不是最小值,則將當前遍歷的元素值替換掉iMin變量的值。當循環結束,iMin變量的值就是數組中最小的值。

  var arr = [23, 45, 40, 30, 12];

  var iMin = arr.shift();

  arr.forEach((v) => {

  iMin = v < iMin ? v : iMin;

  });

  console.log(iMin);

  實現方案2:

  思路:利用Math.min()方法求最小值,但是該方法的參數是一個數值列表,而不是一個數組,故使用ES6新增的擴展運算符將數組轉換成列表,然后傳遞到Math.min()方法中去即可。

  var arr = [23, 45, 40, 30, 12];

  var iMin = Math.min(...arr);

  console.log(iMin);

  第3個功能:交換兩個變量的值。

  實現方案1:

  思路:將變量a的值給到臨時變量temp,然后再將變量b的值給變量a,最后再將臨時變量temp的值給變量b,至此完成變量a和變量b交換值的功能。

  var a = 4, b = 6;

  var temp = a;

  a = b;

  b = temp;

  console.log(a , b);

  實現方案2:

  思路:利用ES6的數組解構方法,實現在不使用第三個變量的情況下,完成變量a和變量b的數據交換。

  var a = 4, b = 6;

  [a, b] = [b, a];

  console.log(a, b);

以上就是“javascript數組去重的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

建平县| 新巴尔虎左旗| 凤山县| 衡阳县| 泰宁县| 永德县| 巴中市| 天柱县| 日照市| 枣庄市| 乐清市| 锡林浩特市| 鹿泉市| 平顶山市| 克东县| 祁东县| 乌海市| 获嘉县| 循化| 崇左市| 府谷县| 平谷区| 义乌市| 霍山县| 青州市| 句容市| 铜山县| 徐汇区| 南皮县| 元朗区| 隆林| 双流县| 青岛市| 合肥市| 镇原县| 揭东县| 封丘县| 杂多县| 诸暨市| 榆中县| 上杭县|