如果数组项未在对象数组中列出,则返回值

时间:2020-08-06 23:03:01

标签: javascript

这是场景。 我有一系列物品:

const memberArray = ["-Lz8YxHbn5iOCxaGUBZt", "-Lz8YxHiwp8QZW3TqAFn", "-Lz8YxHqQXWoaGOFRLrO", -Lz8YxHfasdfsdfGUBZt];

然后我有一个对象数组。

const memberObjects = [
{name: 'john', uid: '-Lz8YxHbn5iOCxaGUBZt'},
{name: 'steve', uid: '-Lz8YxHiwp8QZW3TqAFn'},
{name: 'marcus', uid: '-Lz8YxHqQXWoaGOFRLrO'}
]

如果memberArrays中未列出memberArray中的项目,我需要返回该值。 在上面的示例中:-Lz8YxHfasdfsdfGUBZt未在memberObjects中列出,因此它应该返回。

有什么主意我能做到吗?

1 个答案:

答案 0 :(得分:1)

这应该做到:

const memberArray = ["-Lz8YxHbn5iOCxaGUBZt", "-Lz8YxHiwp8QZW3TqAFn", "-Lz8YxHqQXWoaGOFRLrO", "-Lz8YxHfasdfsdfGUBZt"];
const memberObjects = [
    {name: 'john', uid: '-Lz8YxHbn5iOCxaGUBZt'},
    {name: 'steve', uid: '-Lz8YxHiwp8QZW3TqAFn'},
    {name: 'marcus', uid: '-Lz8YxHqQXWoaGOFRLrO'}
];
console.log(memberArray.some(o => !memberObjects.some(({uid}) => uid == o)));