Я нашел и опробовал .includes
, чтобы помочь с этой проблемой.Но .includes
не сработало, как я хотел.На самом деле он нашел один элемент в JSON, который соответствует значению в другом массиве, но он сопоставил только аналогичные значения :
массив result_postid :
[10,22,12,36,45,206]
item.id из данных JSON :
[{"id":"5","username":"Mike"},{"id":"13","username":"Tom"},{"id":"28","username":"Jake"},{"id":"136","username":"Josie"},{"id":"400","username":"Bill"},{"id":"538","username":"Sam"}]
Я попытался выяснить, почему некоторые значения продолжали возвращаться true
, когда они должны быть четко false
,Затем я пришел к выводу, что .includes
фактически берет 36
из result_postid
и сопоставляет его с 136
в item.id
.Вот как я настроил оператор if с помощью .includes
:
{result_postid.includes(item.id) ?
<Text>True</Text>
:
<Text>False</Text>
}
Это результат:
result_postid | item.id | Result
10 != 5,13,28,136,400,538: False
22 != 5,13,28,136,400,538: False
12 != 5,13,28,136,400,538: False
36 = 5,13,28,136,400,538: True <--- this should be false
45 != 5,13,28,136,400,538: False
206 != 5,13,28,136,400,538: False
Затем я попытался выполнить эту попытку с Lodash:
{_.intersection(item.id, result_postid) ?
<Text>True</Text>
:
<Text>False</Text>
}
И все результаты пришли true
, что не правильно:
10 = 5,13,28,136,400,538: True
22 = 5,13,28,136,400,538: True
12 = 5,13,28,136,400,538: True
36 = 5,13,28,136,400,538: True
45 = 5,13,28,136,400,538: True
206 = 5,13,28,136,400,538: True
Можно ли даже сравнить значения в массиве с данными JSON и показать, равны ли одно значение друг другу, если такправда?Если нет, ложь?