我有一个包含一些对象的数组。我想将这些对象相互比较。如果fromId
和toId
属性都相同,那么就是重复。
例如:
const data = [{
fromId: 1,
toId: 2,
finished: true
}, {
fromId: 1,
toId: 2,
finished: false
}, {
fromId: 5,
toId: 9,
finished: false
}, {
fromId: 1,
toId: 5,
finished: true
}, {
fromId: 2,
toId: 1,
finished: false
}];
$(document).ready(() => {
const duplicates = data.filter(x =>
data
.filter(y => y.fromId == x.fromId && y.toId == x.toId)
.length > 1
);
console.log(duplicates);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我想获取这个数据数组的长度,但只包含唯一的值。我尝试删除所有重复的值,并在此处找到了解决方案
const data = [1, 2, 3, 4, 5, 2, 2, 6, 7, 8, 2, 9, 2, 2, 2, 2, 2];
$(document).ready(() => {
const uniqueValues = data.filter((connection, index) => data.indexOf(connection) == index);
console.log(uniqueValues);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
indexOf
。如何比较fromId
和toId
并删除相同匹配项上的重复内容?从原始数组中,我将去掉其中一个。
{
fromId: 1,
toId: 2,
finished: false
}
因为fromId
和toId
已经存在于另一个对象中。