【发布时间】:2015-07-13 07:44:11
【问题描述】:
我真的不知道该怎么做。我想删除具有多个值的数组的重复值。我尝试使用这篇文章Compare arrays with jQuery [duplicate] 中的代码,但没有得到我想要的结果。请帮我解决这个问题。
var arr1 = ["1,2,3", "4,5", "6", "7,8", "9,10"];
var arr2 = ["2", "4", "7,8"];
var result = []; //expected output: Array["1,3","5","6","9,10"]
$.each(arr1, function(i, val) {
if ($.inArray(val, arr2) < 0)
result.push(val);
});
console.log(result);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
【问题讨论】:
-
在两个数组上,您是否自愿忘记了逗号之间的双引号或
arr1[](例如)应该像"1","2","3","4","5"...? -
不,先生,我本来是这样想的。该数组将在每个索引中有多个值,以逗号分隔。然后使用
.split()我可以将每个索引的值变成一个数组。 -
在您的示例中,如果
arr2也包含“1”,您会期望什么结果? (如果两个不同的 arr2 项目出现在一个字符串中,它们都被删除了吗?)如果它不包含“2”,但包含“1,3”怎么办? (如果 arr2 有一个项目,其中两个数字用逗号分隔,它们是否必须彼此相邻才能删除,或者在字符串中的任何位置出现?)
标签: javascript jquery arrays