【问题标题】:How do i show values that are duplicate in an array from a textarea [duplicate]我如何显示来自文本区域的数组中重复的值[重复]
【发布时间】:2020-09-01 09:13:45
【问题描述】:

我有一个这样的数组:

let newArray = $('#TA2').val().split('\n');

其中#TA2textareaconsole.log 的输出是:

["542|519", "542|519", "540|500"]

我只想显示重复的值,所以输出应该是:["542|519"]

我如何使用 js/jquery 做到这一点?不幸的是,我尝试的一切都不起作用,我需要帮助.. 这个问题与其他问题的不同之处在于我希望我的数组是动态的,textarea 输入因此第一个变量 newArray 从textarea 获取值以创建一个新数组。最终目标是添加一个<button>,当单击一个数组时,应该从textarea 创建并且必须只显示重复的值。

【问题讨论】:

    标签: javascript jquery arrays duplicates


    【解决方案1】:

    您可以使用reducefor..in。使用reduce 创建一个对象,其中的键将是542|519,就像这样,它的值将是出现的次数。因此,如果值大于 1,则它是重复的

    let dups = ["542|519", "542|519", "540|500"].reduce((acc, curr) => {
      if (acc[curr]) {
        acc[curr] += 1
      } else {
        acc[curr] = 1
    
      }
    
      return acc;
    }, {});
    for (let keys in dups) {
      if (dups[keys] > 1) {
        console.log(keys)
      }
    }

    【讨论】:

    • 谢谢你的回答,我如何在let dups中实现newArray?例如,如果 textarea 值更改,则输出应随新数组而更改。希望你能理解我的问题
    猜你喜欢
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 2012-04-15
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 2013-02-03
    相关资源
    最近更新 更多