javascript split string selected text 移除

javascript split string selected text remove

如何使用 javascript 从字符串中删除文本片段

示例字符串:

var start = "World,Book,Pencil,Door";

现在,当我 select 任何 selected 值时:"World",我希望结果为 "Book,Pencil,Door".

// result = "Book,Pencil,Door";

如果您询问如何从逗号分隔的字符串中删除值,试试这个...

var removeValue = function(list, value, separator) {
  separator = separator || ",";
  var values = list.split(separator);
  for(var i=0; i<values.length; i++) {
    if(values[i]===value) {
      values.splice(i, 1);
      return values.join(separator);
    }
  }
  return list;
}

如果找到您要查找的值,则会将其删除,并生成一个新的逗号分隔列表 return。如果未找到,旧列表将被 returned。

另一个版本...使用 indexOf

var removeValue = function(list, value, separator) {
  separator = separator || ",";
  var values = list.split(separator);
  var index = values.indexOf(value);
  if(index >= 0) {
    values.splice(index, 1);
    return values.join(separator);
  } else {
    return list;
  }
}

基本上,无论使用哪个函数,您都将列表 ("World,Book,Pencil,Door") 作为字符串发送,要删除的值 ("World") 作为另一个字符串发送,分隔符是什么 (","对于逗号...但是,逗号也是默认设置,因此可以省略)。如果列表中不存在要删除的值,它将 return 列表。如果它在列表中,它将被删除。

示例 1:

var final = removeValue("World,Book,Pencil,Door", "World");
// final = "Book,Pencil,Door"

示例 2:

var final = removeValue("World,Book,Pencil,Door", "House");
// final = "World,Book,Pencil,Door"

示例 3:

var final = removeValue("World|Book|Pencil|Door", "World", "|");
// final = "Book,Pencil,Door"

更新:

jsFiddle: http://jsfiddle.net/rfornal/96awa2ht/