使用过滤器[Javascript]从数组中删除对象

问题描述 投票:0回答:1

嘿,我正在尝试使用过滤器从数组中删除对象,但似乎无法正常工作。 。

当我从过滤器中删除e.serverID!=='8:0:0'时有效,但是我正尝试使用服务器ID对其进行过滤。

我只是想知道是否有人对为什么有任何想法?

var MyUsers = [{
    id: 1,
    url: 'https://LinkHere.com/#1',
    authorID: 12345,
    username: 'MyUserName',
    isadmin: true,
    serverID: '8:0:0',
    serverIP: 'MyServerIP1'
  },
  {
    id: 2,
    url: 'https://LinkHere.com/#2',
    authorID: 12345,
    username: 'MyUserName',
    isadmin: true,
    serverID: '8:0:0',
    serverIP: 'MyServerIP1'
  },
  {
    id: 3,
    url: 'https://LinkHere.com/#3',
    authorID: 67890,
    username: 'TestUser',
    isadmin: false,
    serverID: '8:0:0',
    serverIP: 'MyServerIP2'
  }
]

console.log('My user befor filter', MyUsers);

MyUsers = MyUsers.filter(e => e.authorID !== 12345 && e.username !== 'MyUserName' && e.serverID !== '8:0:0');

setTimeout(console.log('My user after filter', MyUsers), 1000)
javascript
1个回答
0
投票

通过过滤器功能的定义,将返回所有符合指定条件的元素。由于数组中的任何元素均未满足e.authorID !== 12345 && e.username !== 'MyUserName' && e.serverID !== '8:0:0',因此不会返回任何内容。当您删除e.serverID !== '8:0:0'时,返回的最后一个元素将满足条件。

© www.soinside.com 2019 - 2024. All rights reserved.