【发布时间】:2017-07-17 11:55:43
【问题描述】:
我正在从表格行中收集一个文本框值。文本框的值是变化的。我正在尝试从字符串中删除重复项。我正在查看 this 接受的答案,但重复项仍然存在。
var memo = "";
$("#f_sendToPic").find('#t_obj input[class=no_memo]').each(function(index, result) {
memo +=$(this).val();
memo += "@";
});
var val_memo = $.unique(memo.split('@'));
var arr_memo = val_memo.join('|||');
alert(memo);
alert(arr_memo);
如果可能的话,我更喜欢浏览器友好的方法而不是性能。
【问题讨论】:
-
作为
@文本框中的有效条目?如果是这样,您将无法将其用作分隔符。 -
同样来自docs
Description: Sorts an array of DOM elements, in place, with the duplicates removed. Note that this only works on arrays of DOM elements, not strings or numbers.你需要在dom元素上调用unique,而不是添加字符串版本:1.1.3 -
@t3dodson 没有。我阻止将特殊字符输入到文本框中。因此,文本框的值可能是字符串、数字或组合。
-
为什么要追加到字符串,然后再拆分。为什么不将它的 val 收集到一个数组中。
-
Yeldar 的意思是,你为什么不在你的
.each里面做arr_memo.push($(this).val())然后在循环之后做var arr_memo = val_memo.join('|||');,整个部分用@加入值然后立即将它拆分到@ 987654330@似乎毫无意义
标签: javascript jquery