Как насчет чего-то подобного?
разделите строку, получите массив, var uniqueList = string . split ( ',' ). filter ( function ( item , i , allItems ) { return i == allItems . indexOf ( item ); }). join ( ',' ); $ ( '#output' ). append ( uniqueList ); чтобы удалить дубликаты, присоедините их.
if (!Array.prototype.filter)
{
Array.prototype.filter = function(fun /*, thisp*/)
{
"use strict";
if (this == null)
throw new TypeError();
var t = Object(this);
var len = t.length >>> 0;
if (typeof fun != "function")
throw new TypeError();
var res = [];
var thisp = arguments[1];
for (var i = 0; i < len; i++)
{
if (i in t)
{
var val = t[i]; // in case fun mutates this
if (fun.call(thisp, val, i, t))
res.push(val);
}
}
return res;
};
}
скрипка
Для не поддерживающих браузеров вы можете решить это, добавив это в свои js.
См. Фильтр
var str = "spanner, span, spaniel, span";
str = str.replace(/[ ]/g,"").split(",");
var result = [];
for(var i =0; i < str.length ; i++){
if(result.indexOf(str[i]) == -1) result.push(str[i]);
}
result=result.join(", ");