【问题标题】:Remove all of a specific value from an array从数组中删除所有特定值
【发布时间】:2016-07-13 12:54:54
【问题描述】:

我有一个名为acceptedTermsPoints() 的数组,它输出0,3,3,0,0,这很好。我需要的是一种删除所有等于0的值的方法,使数组等于3, 3

我没有任何代码,但请在示例中使用acceptedTermsPoints()。谢谢!任何帮助表示赞赏

【问题讨论】:

标签: javascript jquery html css arrays


【解决方案1】:

使用filter

var newArray = acceptedTermsPoints().filter(e => e != 0);

【讨论】:

    【解决方案2】:

    试试这个

    var acceptedTermsPoints = [0,3,3,0,0];
    
    function isGreaterThanZero(value) {
      return value > 0;
    }
    var NewacceptedTermsPoints = acceptedTermsPoints.filter(isGreaterThanZero);
    

    【讨论】:

      【解决方案3】:

      filter 与函数式方法一起使用:

      function notEquals(n) {
        return function (el) {
          return el !== n;
        }
      }
      
      function removeZeros(arr) {
        return arr.filter(notEquals(0));
      }
      
      removeZeros(acceptedTermsPoints()); // [3, 3]
      

      DEMO

      【讨论】:

        【解决方案4】:

        您可以使用Array#filter()Boolean 作为回调。这会过滤所有不像0 或其他虚假值的值。

        var array = [0, 3, 3, 0, 0],
            result = array.filter(Boolean);
        
        document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');

        【讨论】:

          猜你喜欢
          • 2020-09-23
          • 2018-09-26
          • 1970-01-01
          • 1970-01-01
          • 2014-12-05
          • 1970-01-01
          • 1970-01-01
          • 2020-12-06
          相关资源
          最近更新 更多