js实现数组中去掉重复的0或者去掉全部0

代码:

javascript 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      var arr3 = [10, 0, 20, 0, 30, 0, 40, 0, 50];
      console.log("原数组为:");
      console.log(arr3);
      
      // 开关
      let derail = true;
      let newarr = [];
      let k = 0;
      //保留一个0,并排序
      arr3.sort(function (a, b) {
        return a - b;
      });
      for (let i = 0; i < arr3.length; i++) {
        for (let j = 0; j < newarr.length; j++) {
          if (arr3[i] === newarr[j]) {
            derail = false;
            break;
          } else {
            derail = true;
          }
        }
        if (derail === true) {
          newarr[k] = arr3[i];
          k++;
        }
      }
      console.log("去掉重复的0:");

      console.log(newarr);

      // 不保留0,并排序
      arr3.sort(function (a, b) {
        return a - b;
      });
      for (var i = 0; i < arr3.length; i++) {
        if (arr3[i] == 0) {
          arr3.shift();
          i--;
        }
      }
      console.log("去掉全部0:");

      console.log(arr3);
    </script>
  </body>
</html>

效果图:

相关推荐
胡萝卜术13 小时前
从API调用到手写LRU:力扣146「LRU缓存」的哈希表+双向链表终极进化之路
前端·javascript·面试
科技道人13 小时前
记录 默认置灰/禁用 app ‘Search Engine Selector‘ 的disable按钮
开发语言·前端·javascript
天疆说13 小时前
Zotero Connector 在 Edge 里找不到桌面 Zotero(Linux / Zotero 9.0.6 / Edge 150)
linux·前端·edge
李伟_Li慢慢15 小时前
02-从硬件说起WebGL
前端·three.js
逝水无殇15 小时前
C# 异常处理详解
开发语言·后端·c#
kyriewen16 小时前
看了微软几万人用AI编程的数据——效率涨24%的代价没人提
前端·ai编程·claude
2601_9637713716 小时前
How to Scale Your WordPress Store Traffic in 2026
前端·php·plugin
亿元程序员16 小时前
老板说我的3D箭头游戏用来做试玩太普通了,没人想玩,让我变点花样...
前端
李伟_Li慢慢16 小时前
01-threejs架构原理-课程简介
前端·three.js
玖玥拾17 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#