2

jquery/javascriptを使用してカンマ区切りの整数文字列から重複を削除するにはどうすればよいですか?

私の文字列は: 1,2,2,4,2,4,3,2,3,1,5,5,5,1,1,2

4

8 に答える 8

3
function spit(){
           var answer = ("1,2,2,4,2,4,3,2,3,1,5,5,5,1,1,2").split(',').filter(function(item, pos,self) {
              return self.indexOf(item) == pos;
           });
}
于 2015-08-04T20:53:39.350 に答える
2

これが簡単な例です。

var str1 = "a,b,c,a,d,e,b";
var characters = str1.split(",");
var distinctCharacters = [];
jQuery.each(characters, function(index, c) {
if (jQuery.inArray(c, distinctCharacters) > -1) {
        // do nothing
        alert("already exists " + c);
    } else {
        distinctCharacters.push(c);
    }
});
alert(distinctCharacters);​
于 2012-07-10T16:14:41.497 に答える
2

機能をゼロから作成したり、他のjs ライブラリを使用したりする必要のない 1 つの方法については、duck-punching-with-jquery を確認してください。(「例 2: $.unique() 拡張」を探します)

他のライブラリを試してみたい場合は、優れたunderscorejsに必要な機能を実現する ' uniq ' メソッドが含まれています。

于 2012-07-10T16:12:59.533 に答える
1

良い答え、_.uniq()ライブラリunderscore.jsからもあります

于 2012-07-10T16:16:17.113 に答える
1

この投稿 からJavaScript配列から重複を削除

var names = ["Mike","Matt","Nancy","Adam","Jenny","Nancy","Carl"];
var uniqueNames = [];
$.each(names, function(i, el){
 if($.inArray(el, uniqueNames) === -1) uniqueNames.push(el);
  });
于 2012-07-10T16:14:45.793 に答える
0
var numbersString = "1,2,3,4,5,6";
var numbersArray = numbers.split(',');

次に、別の配列にチェックを入れて次のコンテンツを挿入します。numbersArray

于 2012-07-10T16:13:51.360 に答える
0

それらが整数のみの場合、次のようになります。

var array = "1,2,2,4,2,4,3,2,3,1,5,5,5,1,1,2".split(",");

array.sort(function(a, b) { return a - b });

var uniqueArray = [array[0]];

for (var i = 1; i < array.length; i++) {
    if (array[i - 1] !== array[i])
        uniqueArray.push(array[i]);
}

console.log(uniqueArray);
于 2012-07-10T16:14:24.417 に答える