jQuery: 删除文本区域中的重复字符串

jQuery: Remove duplicate string on textarea

我正在处理一个需要使所有字符串唯一的表单。

代码工作正常,但问题是当我在新行中复制时,代码不起作用。

希望你能理解我。

谢谢。

CODEPEN

$(document).ready(function(){
  $('button').click(function(){
  var data = $('textarea').val();
 var arr =  $.unique(data.split(' '));
     data = arr.join(' ');
 $('textarea').val(data);
  });
});
div{
  padding: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div>
  <textarea name="" id="" cols="30" rows="10"></textarea>
<br>
<button>Remove Duplicates</button>
</div>

https://api.jquery.com/jQuery.unique/

Note that this only works on arrays of DOM elements, not strings or numbers.

你可以在没有库的情况下轻松做到 .filter:

$(document).ready(function(){
  $('button').click(function(){
    var data = $('textarea').val();
    var result = data.split(/\s/g).filter((word, i, arr) => arr.indexOf(word) === i);
    $('textarea').val(result.join(' '));
  });
});
div{
  padding: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div>
  <textarea name="" id="" cols="30" rows="10"></textarea>
<br>
<button>Remove Duplicates</button>
</div>