Jquery 如何从淘汰列表中删除值

Jquery 如何从淘汰列表中删除值,jquery,knockout.js,Jquery,Knockout.js,我无法使用javascript和knockout从列表中删除字符串。谢谢你的建议,詹姆斯 请参见此示例: 代码片段 viewModel.toRemove = ko.observable(); viewModel.remove = function() { viewModel.Article.Keywords().remove(viewModel.toRemove()); } 在Chrome的控制台中,我得到一个错误:“没有方法‘删除’”表达式viewModel.Article.Keyw

我无法使用javascript和knockout从列表中删除字符串。谢谢你的建议,詹姆斯

请参见此示例:

代码片段

viewModel.toRemove = ko.observable();
viewModel.remove = function() {
    viewModel.Article.Keywords().remove(viewModel.toRemove());
}

在Chrome的控制台中,我得到一个错误:“没有方法‘删除’”

表达式
viewModel.Article.Keywords()
是一个普通字符串,而不是数组。因此,没有
remove
功能

如果数据确实返回由管道定义的列表,则可以尝试调用字符串上的
replace
函数来删除该值(这不包括删除第一个值,如果它们具有相同的值,还将删除多个条目):

小提琴:

但是,我不推荐这种解决方案。如果可能的话,使用实际数组会更好,更不容易出错

在这种情况下,只需调用
关键字.remove()
即可从数组中删除条目

查看此小提琴(将原始字符串拆分为数组):


请参阅此提琴(JSON中的数据已经是一个数组):

表达式
viewModel.Article.Keywords()
是一个普通字符串,而不是数组。因此,没有
remove
功能

如果数据确实返回由管道定义的列表,则可以尝试调用字符串上的
replace
函数来删除该值(这不包括删除第一个值,如果它们具有相同的值,还将删除多个条目):

小提琴:

但是,我不推荐这种解决方案。如果可能的话,使用实际数组会更好,更不容易出错

在这种情况下,只需调用
关键字.remove()
即可从数组中删除条目

查看此小提琴(将原始字符串拆分为数组):


查看此提琴(JSON中的数据已经是一个数组):

在每个相邻值旁边删除有多容易?删除值::| |按Joseph应答标记在每个相邻值旁边删除有多容易?删除值::| |按Joseph应答标记
var newKeywords = viewModel.Article.Keywords().replace("|" + viewModel.toRemove(), "");
viewModel.Article.Keywords(newKeywords);