我通过jQuery的每个功能获取我的数组列表。
var spnTxt = '';
var arr = $('#id').find('span').each(function(utval) {
spnTxt = $(this).text();
});
这是给我的
["pet", "dog", "london", "class"]
["pet", "cat", "newyork", "weight"]
["tech", "phone", "spain", "hello2"]
["tech", "phone", "spain", "hello"]
["tech", "phone", "spain", "hello"]
在上面的例子中,我应该
["pet", "dog", "london", "class"]
["pet", "cat", "newyork", "weight"]
["tech", "phone", "spain", "hello2"]
["tech", "phone", "spain", "hello"]
哪个是独一无二的。而我的下面的代码不起作用。我不确定它是否正确。
var dup = {};
var arr = $('#id').find('span').each(function(utval) {
spnTxt = $(this).text();
if (dup[spnTxt])
$(this).remove();
else
dup[spnTxt] = true;
});
基本上我想删除重复的数组,如果我的数组中的字符串彼此完全相似。如何实现这个
答案 0 :(得分:0)
要比较数组以查看它们的整个集合是否相同,您可以使用Jquery is。
asm voltile("sti")
如果数组相同,则返回true。我不太清楚你是如何存储阵列的,但希望这会给你足够的信息来自己实现它。
答案 1 :(得分:0)
以下是为您提供技巧的功能
@property (strong, nonatomic) IBOutlet UIImageView *imageView;
归功于此SO LINK
创建父数组function arraysEqual(arr1, arr2) {
if(arr1.length !== arr2.length)
return false;
for(var i = arr1.length; i--;) {
if(arr1[i] !== arr2[i])
return false;
}
return true;
}
var parentArray =array();
函数返回一个数组后,只有each()
该数组进入父数组
push
因此,在使用上述函数运行每个循环之后,将其与parentArray.push(Your_array_from_the_each_loop);
您可以使用jQuery的parentArray
函数循环遍历parentArray
$.each()
答案 2 :(得分:0)
试
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (!isArraySame(newArr, arr[i])) {
newArr.push(arr[i]);
}
}
console.log(newArr)
function isArraySame(ar, check) {
var isIn = false;
for (var j = 0; j < ar.length; j++) {
var sliceArr = ar[j];
if (ar[j].length == check.length) {
var count = 0;
for (var i = 0; i < check.length; i++) {
if (check[i] == ar[j][i]) {
count++;
}
}
if (count == check.length) {
isIn = true;
break;
}
}
}
return isIn;
}
<强> DEMO 强>
或使用此方法检查相同的数组
function isArraySame(ar, check) {
var strArr = check.join();
var isIn = false;
for (var j = 0; j < ar.length; j++) {
if (ar[j].join() == strArr){
isIn = true;
break;
}
}
return isIn;
}
<强> arrayString DEMO 强>