Javascript KnockoutJS-修剪字符串数组上的空白

Javascript KnockoutJS-修剪字符串数组上的空白,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我有一个简单的情况,我想接受一个文本数组,所以我让用户输入用逗号分隔的数据,在我的KO视图模型中,我使用KO.computed来解析这个。代码如下所示。(主要感谢RPN为我展示了这个技巧) 视图模型 HTML 但我仍然在数组中获得空间。有人知道我做错了什么吗?如果使用jQuery,以下代码将帮助您: write: function(newValue) { this.values($.map(newValue.split(","), $.trim)); } 您需要从字符串内部去除空白-

我有一个简单的情况,我想接受一个文本数组,所以我让用户输入用逗号分隔的数据,在我的KO视图模型中,我使用
KO.computed
来解析这个。代码如下所示。(主要感谢RPN为我展示了这个技巧)

视图模型 HTML
但我仍然在数组中获得空间。有人知道我做错了什么吗?

如果使用jQuery,以下代码将帮助您:

write: function(newValue) {
    this.values($.map(newValue.split(","), $.trim)); 
}

您需要从字符串内部去除空白-trim()只需从字符串的开头和结尾去除空白:

write: function(newValue) {
  this.values(newValue.replace(/\s/g, '').split(","));
}

你不应该只删除字符串中的所有空格,只删除前导/尾随。为什么不呢?它简单快捷。除非你在标记(即标记,通常要求没有空格)中需要空格。他是在从字符串中删去空格,而不是完全去掉它对于测试数据:[“test1”、“test2”、“test3”、“test4”]“test1、test2、test3…”修剪和剥离是完全等效的。“测试”和“1”之间的空格将被删除。杰夫就是这么说的。
write: function(newValue) {
    newValue = $.trim(newValue);
    console.log(newValue);
    this.values(newValue.split(","));   
},
write: function(newValue) {
    this.values($.map(newValue.split(","), $.trim)); 
}
write: function(newValue) {
  this.values(newValue.replace(/\s/g, '').split(","));
}