0

我有带有一些特殊字符和重复值的 java 脚本字符串变量...我只想删除 < 和 > 符号并且需要避免重复...如何实现这一点...

这就是我所拥有的...

var columnname = "USER_ID,PRIORITY,CREATION_DATE<,CREATION_DATE>,ASSIGN_TO_USER_DATE<,ASSIGN_TO_USER_DATE>,START_WORK_DATE<,START_WORK_DATE>,PARTICIPANT_TYPE,SENDER_ID";

它应该是这样的......

var columnname = "USER_ID,PRIORITY,CREATION_DATE,ASSIGN_TO_USER_DATE,START_WORK_DATE,PARTICIPANT_TYPE,SENDER_ID";
4

3 回答 3

3

一种可能的简短解决方案:

columnname.replace(/[<>]/g, "").split(",").filter(function(item, i, arr) {
    return i === arr.indexOf(item);
}).join(",");

请注意,某些旧浏览器可能不支持Array.filter()Array.indexOf()方法。您可以在MDN中检查兼容性垫片。

于 2013-01-18T11:14:42.577 回答
0

我没有给出完整的答案,因为您没有提供任何代码,但这里是您应该遵循的基本步骤:

  • 替换字符串中所有不需要的字符
  • 拆分逗号上的字符串,为您提供一个值数组
  • 从数组中取出所有重复项
于 2013-01-18T11:15:06.130 回答
0

你也可以使用reduce函数

    input_string.replace(/[<>]/g, "").split(",").reduce(function(a, b) {
        a = Array.isArray(a)? a : [a];
        if(a.indexOf(b) == -1){ a.push(b);}
        return a;
    });
于 2013-01-18T11:45:56.943 回答