js中数组去重方法/封装一个去重的函数代码教程

[复制链接]
查看1882 | 回复0 | 2020-6-2 11:07 | 显示全部楼层 |阅读模式
数组去重 ['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'] 要求去除数组中重复的元素。
1.目标: 把旧数组里面不重复的元素选取出来放到新数组中, 重复的元素只保留一个, 放到新数组中去重。
2.核心算法: 我们遍历旧数组, 然后拿着旧数组元素去查询新数组, 如果该元素在新数组里面没有出现过, 我们就添加, 否则不添加。
3.我们怎么知道该元素没有存在? 利用 新数组.indexOf(数组元素) 如果返回时 - 1 就说明 新数组里面没有改元素
封装一个 去重的函数 unique 独一无二的

  1. function unique(arr) {
  2.             var newArr = [];
  3.             for (var i = 0; i < arr.length; i++) {
  4.                 if (newArr.indexOf(arr[i]) === -1) {
  5.                     newArr.push(arr[i]);
  6.                 }
  7.             }
  8.             return newArr;
  9.         }
  10.         // var demo = unique(['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'])
  11.         var demo = unique(['blue', 'green', 'blue'])
  12.         console.log(demo);
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
1
贡献
387
丢币
38902
主题
4607
回帖
116
注册时间
2018-9-25
最后登录
2024-4-26