API возвращает массив объектов.
Мне нужно извлечь одно значение из первого объекта, который соответствует фильтру:
channel = booking.custom_fields.filter(f => f.id == 744)[0].value.trim()
Это работает, кроме случаев, когда фильтр соответствуетничего, массив пуст, или value==null
.
Единственный способ, который я знаю об этом:
channel =
booking.custom_fields.filter(f => f.id == 744).length>0 &&
booking.custom_fields.filter(f => f.id == 744)[0].value &&
booking.custom_fields.filter(f => f.id == 744)[0].value.trim()
(который возвращает null
или false
, если былпроблема.)
Но это не изящно и много повторений кода.
Есть ли лучший способ?
Единственное, о чем я могу думать, это try/catch
:
try { channel = booking.custom_fields.filter(f => f.id == 744)[0].value.trim() }
catch { channel = null }