如何获取仅存在于第一个JavaScript数组中的元素
如何获取仅存在于第一个JavaScript数组中的元素
嘿,我明白你的需求啦!你当前的代码用find()方法找到了两个数组的交集(也就是同时出现在array1和array2里的元素),但你想要的是只存在于array1、在array2里没有的元素,这其实就是求两个数组的差集,我来给你调整下代码:
完整实现代码
var array1 = ['2023-04-05','2023-04-06','2023-04-07']; //array1 var array2 = ['2023-04-07']; //array2 // 筛选出array1中独有的所有元素 const uniqueInArray1 = array1.filter(val => !array2.includes(val)); // 将数组转换为逗号分隔的字符串并渲染到页面 $('.show').html(uniqueInArray1.join(', '));
关键逻辑说明
- 替换
find()为filter():find()仅返回第一个匹配条件的元素,而filter()会遍历整个数组,返回所有符合条件的元素集合,这正是你需要获取多个元素的核心。 !array2.includes(val):通过取反操作,判断当前元素是否不存在于array2中,这样就能筛选出array1独有的内容。join(', '):把筛选得到的数组转换成逗号加空格分隔的字符串,完美输出你想要的2023-04-05, 2023-04-06格式。
备注:内容来源于stack exchange,提问作者Đoàn Hiếu
相关产品推荐
相关产品推荐

