Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用.includes with.map查找匹配值_Javascript - Fatal编程技术网

Javascript 使用.includes with.map查找匹配值

Javascript 使用.includes with.map查找匹配值,javascript,Javascript,我试图测试一个数组是否包含存在于另一个数组中的id。这是第一个数组: var ids = [ "N06Jrz5hx6Q9bcVDBBUrF3GKSTp2", "eLLfNlWLkTcImTRqrYnU0nWuu9P2" ] 下面是用户对象的外观示例: var userExample = { "category": "Chemia", "coins": 100, "friends": {}, "level": "Liceum", "newA

我试图测试一个数组是否包含存在于另一个数组中的id。这是第一个数组:

var ids = [
    "N06Jrz5hx6Q9bcVDBBUrF3GKSTp2",
    "eLLfNlWLkTcImTRqrYnU0nWuu9P2"
]
下面是用户对象的外观示例:

var userExample = {
    "category": "Chemia",
    "coins": 100,
    "friends": {},
    "level": "Liceum",
    "newAnswers": false,
    "nickname": "czainusek",
    "notifications": true,
    "safety": true,
    "tagID": "drawable/icon_other1",
    "tasksUploaded": 0,
    "works": {
        "-LI1z-yO4MJnPwrdwHGl": "-LI1z-tB6EpqIhJwzchP",
        "-LIHAwCpc84UQqGeT1bU": "-LIHAw8RuTZxfgz0ef8G",
        "-LIHB2Ov5B-4XqpM79Av": "-LIHB2IPmMqOxa3UPFxs"
    },
    "id": "Nqez1dKRJ6aEpOb4BuUOK75iJoJ2"
}
我有一组这样的物体。它们都是这样的:

var usersExamples = [
    {
        "category": "Chemia",
        "coins": 100,
        "friends": {},
        "level": "Liceum",
        "newAnswers": false,
        "nickname": "czainusek",
        "notifications": true,
        "safety": true,
        "tagID": "drawable/icon_other1",
        "tasksUploaded": 0,
        "works": {
            "-LI1z-yO4MJnPwrdwHGl": "-LI1z-tB6EpqIhJwzchP",
            "-LIHAwCpc84UQqGeT1bU": "-LIHAw8RuTZxfgz0ef8G",
            "-LIHB2Ov5B-4XqpM79Av": "-LIHB2IPmMqOxa3UPFxs"
        },
        "id": "Nqez1dKRJ6aEpOb4BuUOK75iJoJ2"
    },
    {
        "coins": 20,
        "friends": {},
        "level": "Gimnazjum",
        "newAnswers": false,
        "nickname": "Tomasz ",
        "notifications": true,
        "safety": true,
        "tagID": "drawable/emot_icons1",
        "tasksUploaded": 5,
        "id": "SAlVGjXIagdDuJrHYO4i6LwzUql2"
    }
]
console.log(reportIds.includes(users.map(user => user.id)));
console.log(reportIds.includes('N06Jrz5hx6Q9bcVDBBUrF3GKSTp2'));
所以知道了这一点,我试过这样的方法:

var usersExamples = [
    {
        "category": "Chemia",
        "coins": 100,
        "friends": {},
        "level": "Liceum",
        "newAnswers": false,
        "nickname": "czainusek",
        "notifications": true,
        "safety": true,
        "tagID": "drawable/icon_other1",
        "tasksUploaded": 0,
        "works": {
            "-LI1z-yO4MJnPwrdwHGl": "-LI1z-tB6EpqIhJwzchP",
            "-LIHAwCpc84UQqGeT1bU": "-LIHAw8RuTZxfgz0ef8G",
            "-LIHB2Ov5B-4XqpM79Av": "-LIHB2IPmMqOxa3UPFxs"
        },
        "id": "Nqez1dKRJ6aEpOb4BuUOK75iJoJ2"
    },
    {
        "coins": 20,
        "friends": {},
        "level": "Gimnazjum",
        "newAnswers": false,
        "nickname": "Tomasz ",
        "notifications": true,
        "safety": true,
        "tagID": "drawable/emot_icons1",
        "tasksUploaded": 5,
        "id": "SAlVGjXIagdDuJrHYO4i6LwzUql2"
    }
]
console.log(reportIds.includes(users.map(user => user.id)));
console.log(reportIds.includes('N06Jrz5hx6Q9bcVDBBUrF3GKSTp2'));
这个结果是假的。但如果我尝试这样的身份证:

var usersExamples = [
    {
        "category": "Chemia",
        "coins": 100,
        "friends": {},
        "level": "Liceum",
        "newAnswers": false,
        "nickname": "czainusek",
        "notifications": true,
        "safety": true,
        "tagID": "drawable/icon_other1",
        "tasksUploaded": 0,
        "works": {
            "-LI1z-yO4MJnPwrdwHGl": "-LI1z-tB6EpqIhJwzchP",
            "-LIHAwCpc84UQqGeT1bU": "-LIHAw8RuTZxfgz0ef8G",
            "-LIHB2Ov5B-4XqpM79Av": "-LIHB2IPmMqOxa3UPFxs"
        },
        "id": "Nqez1dKRJ6aEpOb4BuUOK75iJoJ2"
    },
    {
        "coins": 20,
        "friends": {},
        "level": "Gimnazjum",
        "newAnswers": false,
        "nickname": "Tomasz ",
        "notifications": true,
        "safety": true,
        "tagID": "drawable/emot_icons1",
        "tasksUploaded": 5,
        "id": "SAlVGjXIagdDuJrHYO4i6LwzUql2"
    }
]
console.log(reportIds.includes(users.map(user => user.id)));
console.log(reportIds.includes('N06Jrz5hx6Q9bcVDBBUrF3GKSTp2'));
这是真的

具有所述Id的对象存在。我手动检查了ID。我试过这个:

console.log(reportIds.includes(['8VbBNBDrT1Z3kmyaQzy6LqskcOT2', 'N06Jrz5hx6Q9bcVDBBUrF3GKSTp2'].map(id => id)));
但结果是错误的

与此相同:

console.log(reportIds.includes(['8VbBNBDrT1Z3kmyaQzy6LqskcOT2', 'N06Jrz5hx6Q9bcVDBBUrF3GKSTp2']));

那么,我如何检查哪些ID在
ids
数组中呢?

您可以使用和的组合:

让ID=[
“N06Jrz5hx6Q9bcVDBBUrF3GKSTp2”,
“ELLFNLLKTCIMTRQRYNU0NWUUU9P2”
];
让usersExamples=[
{
“id”:“Nqez1dKRJ6aEpOb4BuUOK75iJoJ2”
},
{
“id”:“SAlVGjXIagdDuJrHYO4i6LwzUql2”
},
{
“id”:“ellfnlwlktcimtrqrynu0nwuuu9p2”
}
];
让result=usersExamples.filter(u=>ids.includes(u.id));

控制台日志(结果)您可以使用和的组合:

让ID=[
“N06Jrz5hx6Q9bcVDBBUrF3GKSTp2”,
“ELLFNLLKTCIMTRQRYNU0NWUUU9P2”
];
让usersExamples=[
{
“id”:“Nqez1dKRJ6aEpOb4BuUOK75iJoJ2”
},
{
“id”:“SAlVGjXIagdDuJrHYO4i6LwzUql2”
},
{
“id”:“ellfnlwlktcimtrqrynu0nwuuu9p2”
}
];
让result=usersExamples.filter(u=>ids.includes(u.id));

控制台日志(结果)这正是我所需要的。你知道为什么它不能用
map
返回true吗?我将选择7分钟内最好的,您基本上是在做
ids.includes(另一个数组)
,这在您的情况下不起作用。您需要独立地测试每个值,而不是整个数组。不会
ids.includes(anotherArray.map(val=>val.id))
这样做吗?不,
anotherArray.map(…)
仍然会给出另一个数组,而不是单个值。那么好了。谢谢我会在4分钟内选择这正是我所需要的。你知道为什么它不能用
map
返回true吗?我将选择7分钟内最好的,您基本上是在做
ids.includes(另一个数组)
,这在您的情况下不起作用。您需要独立地测试每个值,而不是整个数组。不会
ids.includes(anotherArray.map(val=>val.id))
这样做吗?不,
anotherArray.map(…)
仍然会给出另一个数组,而不是单个值。那么好了。谢谢我会在4分钟内选择