【问题标题】:I want an Distinct Array and should be in a Re-Usable Function [duplicate]我想要一个不同的数组,并且应该在一个可重用的函数中[重复]
【发布时间】:2017-05-24 04:31:44
【问题描述】:

我想要一个不同的数组。我无法弄清楚它是如何工作的

---这是我的功能---

var Array = [2, 0, 1, 9, 1, 3, 2, 4, 5, 5, 3, 4]

function distinctArray(val){
    var newArray=[];
    for(var i=0 ; i < val.length; i++){
        if (newArray.indexOf(val[i]) > -1){
            newArray.push(val[i])
        }
    }
    return newArray
}

【问题讨论】:

    标签: javascript arrays


    【解决方案1】:

    你可能是想打字

    if (newArray.indexOf(val[i]) == -1) // if it does NOT already exist
    

    而不是

    if (newArray.indexOf(val[i]) > -1)
    

    【讨论】:

      【解决方案2】:

      你可以只使用 Array.filter() 来保留唯一的元素

      var array = [2, 0, 1, 9, 1, 3, 2, 4, 5, 5, 3, 4];
      var distinct = array.filter((x,i,arr) => arr.lastIndexOf(x) === i);
      console.log(distinct);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-07-11
        • 2013-11-22
        • 1970-01-01
        • 1970-01-01
        • 2018-03-02
        • 2020-09-29
        • 1970-01-01
        相关资源
        最近更新 更多