gpt4 book ai didi

javascript - 根据另一个对象中的键和属性从数组中删除对象?

转载 作者:行者123 更新时间:2023-11-28 12:26:20 24 4
gpt4 key购买 nike

我有以下对象,其中属性键设置为用户名,属性值设置为它们出现的次数,以及一个包含具有 UserId 属性的对象列表的数组用户名:

peopleWhoAppear = { "Edward": 5, "Charlotte": 2, "Michael": 9, "Andy": 6 }

siteUsers = [
{ UserId: 1842, UserName: "Sam" },
{ UserId: 2943, UserName: "Charlotte" },
{ UserId: 1842, UserName: "Richard" },
{ UserId: 2916, UserName: "Ivan" },
{ UserId: 2073, UserName: "Paul" },
{ UserId: 1842, UserName: "Theo" }
...
]

我想从 siteUsers 数组中删除 UserNamepeopleWhoAppear 对象中的属性键匹配的所有对象(如果属性值)匹配某个数字(可以是 5 或 8)并将剩余结果返回到另一个数组。我已经在这两天里坚持了 6 个小时,但没有取得任何进展。

我尝试了 .filter.splice 的各种排列和循环,但没有成功。例如:

 for (var UserName in peopleWhoAppear) {
if (peopleWhoAppear[UserName ] === count) {
siteUsers.filter(function (person) {
console.log(person);
return person.UserName !== verifier;
}));
}
}

我怎样才能做到这一点?除了 jQuery 之外,我无法访问任何库,因此像 Underscore 这样的东西在这里没有用。

最佳答案

I've tried varies permutations and loops of .filter and .splice, but with no success.

您只需要过滤器:

return siteUsers.filter(function(obj) {
var user = obj.UserName;
return !(user in peopleWhoAppear && peopleWhoAppear[user] == count);
});

这将为您提供一个新数组,其中包含未出现在 peoplWhoAppear 中或其中计数错误的所有用户。

关于javascript - 根据另一个对象中的键和属性从数组中删除对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28075531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com