t.me/atinfo_chat Telegram группа по автоматизации тестирования

Postman: как сравнить id с одного ответа с массивом id-шек с другого ответа

locators
api
postman
automation
javascript
tools
qa
Теги: #<Tag:0x00007fb2f7cd73d0> #<Tag:0x00007fb2f7cd7290> #<Tag:0x00007fb2f7cd7150> #<Tag:0x00007fb2f7cd7010> #<Tag:0x00007fb2f7cd6ea8> #<Tag:0x00007fb2f7cd6d68> #<Tag:0x00007fb2f7cd6c00>

(Алексей ) #1

В первом запросе была получена одна id. Во втором запросе получен массив id.

Нужно сравнить первую id с каждым id со второго запроса и найти совпадение.

Желательно написать js скрипт по перебору всех id и сравнению с первым.

Буду очень благодарен за помощь новичку


(Bohdan B) #2

Что конкретно у вас не получилось?)


(Vladislav Abramov) #3
var a = id первого запроса

var b = массив id второго запроса

var c = b.Find(id => id.Equals(a))

это с#, js примерно похож будет, надо просто погуглить работу с массивами


(Dmitri Komarist) #4
let singleId = 123
let arrayIds = [456, 123, 789]

tests["Should find singleId in arrayIds"] = arrayIds.includes(singleId);

или

let singleId = 123
let arrayIds = [456, 123, 789]

tests["Should find singleId in arrayIds"] = arrayIds.indexOf(singleId) !== -1;

(Sergei) #5

а зачем делать arrayIds.includes(singleId) == true; ? если arrayIds.includes(singleId) итак возвращает булевое значение?


(Sergei) #6

да и вообще в js сравнение через == используется крайне редко в отличие ===, т.к. не учитывает тип объекта:

> 1 == true
true
> '1' == true
true
> 1 === true
false
> '1' === true
false