为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript:如何从数组中删除多个键的重复条目

JavaScript:如何从数组中删除多个键的重复条目

慕桂英4014372 2021-07-12 12:04:26
我有一个这样的数组:0: {ClusterId: "10.210.28.231", Device IP: "10.210.28.231", SlotID: "1"}1: {ClusterId: "10.210.28.234", Device IP: "10.210.28.234", SlotID: "1"}2: {ClusterId: "10.210.28.231", Device IP: "10.210.28.231", SlotID: "2"}3: {ClusterId: "10.210.28.234", Device IP: "10.210.28.234", SlotID: "2"}4: {ClusterId: "10.210.28.234", Device IP: "10.210.28.234", SlotID: "2"}5: {ClusterId: "10.210.28.231", Device IP: "10.210.28.231", SlotID: "2"}我正在尝试通过ClusterId和删除重复项SlotID。下面是我的示例代码,其中我将重复值推送到一个数组 ( duplicateArrayVal) 并将非重复值推送到另一个数组 ( importArrayVal)UniqueArraybyObject($scope.excelRowArray, "SlotID", "ClusterId");function UniqueArraybyObject(collection, slotId, clusterName) {    var importArrayVal = [],        slot = [],        clusters = [];    $scope.duplicateArrayVal = [];    angular.forEach(collection, function(item) {        var tempSlot = item[slotId];        var cluster = item[clusterName];        if ((slot.indexOf(tempSlot) === -1) || (clusters.indexOf(cluster) === -1)) {            slot.push(tempSlot);            clusters.push(cluster);            importArrayVal.push(item);        } else {            $scope.duplicateArrayVal.push(item);        }    });    return importArrayVal;};发生在我身上的问题是第 3,4 和 5 行的项目没有显示,因为它们被视为重复项。但只有第 4 行和第 5 行是重复的,而不是第 3 行。我需要第三行在非重复数组中。请帮助我实现这一目标
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信