当前位置: 首页 > 知识库问答 >
问题:

如何在JavaScript/JQuery[复制]中切片已存在于另一个数组中的数组元素

潘坚白
2023-03-14

我有两个时间字符串数组。我想删除arr2中已经出现的arr1元素。

这些是我的arry:

 arr1 = ["05:30", "05:45", "06:00", "06:15", "06:30", "06:45", "07:00", "07:15", "07:30", "07:45", "08:00", "08:15", "08:30", "08:45", "09:00", "09:15", "09:30", "09:45", "10:00", "10:15", "10:30", "10:45", "11:00", "11:15", "11:30", "11:45", "12:00", "12:15", "12:30", "12:45", "13:00", "13:15", "13:30", "13:45", "14:00", "14:15", "14:30", "14:45", "15:00", "15:15", "15:30", "15:45", "16:00", "16:15", "16:30", "16:45", "17:00", "17:15", "17:30", "17:45", "18:00", "18:15", "18:30", "18:45", "19:00", "19:15", "19:30", "19:45", "20:00", "20:15", "20:30", "20:45", "21:00", "21:15", "21:30", "21:45", "22:00", "22:15", "22:30", "22:45", "23:00", "23:15", "23:30"]

    arr2=["05:30", "05:45", "06:00", "06:15", "06:30", "06:45", "07:00", "07:15", "07:30", "07:45", "08:00", "13:00", "22:00", "22:15"]

请帮忙。提前感谢

共有2个答案

裴楚青
2023-03-14

您可以先在arr2上创建哈希映射

var lookupMap = {};

arr2.forEach(function(value){
lookupMap[value] = true;
});

arr1 = arr1.filter(function(value) {
return !lookupMap[value]
});
万俟玉书
2023-03-14

您可以使用由第二个数组生成的哈希表对其进行过滤。

var arr1 = ["05:30", "05:45", "06:00", "06:15", "06:30", "06:45", "07:00", "07:15", "07:30", "07:45", "08:00", "08:15", "08:30", "08:45", "09:00", "09:15", "09:30", "09:45", "10:00", "10:15", "10:30", "10:45", "11:00", "11:15", "11:30", "11:45", "12:00", "12:15", "12:30", "12:45", "13:00", "13:15", "13:30", "13:45", "14:00", "14:15", "14:30", "14:45", "15:00", "15:15", "15:30", "15:45", "16:00", "16:15", "16:30", "16:45", "17:00", "17:15", "17:30", "17:45", "18:00", "18:15", "18:30", "18:45", "19:00", "19:15", "19:30", "19:45", "20:00", "20:15", "20:30", "20:45", "21:00", "21:15", "21:30", "21:45", "22:00", "22:15", "22:30", "22:45", "23:00", "23:15", "23:30"],
    arr2 = ["05:30", "05:45", "06:00", "06:15", "06:30", "06:45", "07:00", "07:15", "07:30", "07:45", "08:00", "13:00", "22:00", "22:15"],
    hash = {};

arr2.forEach(function (a) {
    hash[a] = true;
});

arr1 = arr1.filter(function (a) {
    return !hash[a];
});

console.log(arr1);
 类似资料: