前端中include主要用于在一个数组中查找是否包含某个元素。它的语法格式如下:array.includes(element)
其中,array为需要查找的数组,element为需要查找的元素。
要求两个json类型数组的差集,可以使用Array.filter()方法、Array.includes()方法和JSON.stringify()方法。
示例代码如下:
let arr1 = [
{ "id": 1, "name": "A" },
{ "id": 2, "name": "B" },
{ "id": 3, "name": "C" }
];
let arr2 = [
{ "id": 1, "name": "A" },
{ "id": 2, "name": "B" }
];
let difference = arr1.filter(item => {
return !arr2.includes(item) && JSON.stringify(item) !== JSON.stringify(arr2.find(x => x.id === item.id));
});
console.log(difference); // 输出 [{ "id": 3, "name": "C" }]
在这个例子中,我们使用了Array.filter()方法来筛选出两个数组的差集。在filter()方法的回调函数中,我们首先使用Array.includes()方法来判断arr2中是否包含当前的元素。如果arr2中不包含当前的元素,则需要使用JSON.stringify()方法来将当前元素转换成一个字符串,然后在arr2中寻找一个id值相同的元素,再将其转换成字符串进行比较。如果arr2中也没有包含id值相同的元素,则表明当前元素是两个数组的差集之一,需要被筛选出来。最后,将所有的差集收集到一个新数组中并输出即可。