0

I'm using an API which is cheap but badly designed in so that in order to know whether I'm getting any results at all, I have to do the following check:

const resultsExist = relatedKeywords.tasks[0].result[0].items ? true : false

However, there may be a case where even the .task part of relatedKeywords doesn't exist either.

So my question is — is there an elegant way to check the existence of the parameter items above without triggering the undefined error in Javascript?

So far, I'm doing it this way below, but I find it too verbose. Maybe there's a better way?

const resultsExist =
        relatedKeywords &&
        relatedKeywords.tasks &&
        relatedKeywords.tasks[0] &&
        relatedKeywords.tasks[0].result &&
        relatedKeywords.tasks[0].result[0] &&
        relatedKeywords.tasks[0].result[0].items
            ? true
            : false
Aerodynamika
  • 7,133
  • 14
  • 65
  • 120
  • [MDN - Optional chaining (?.)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining) – Yousaf Feb 08 '22 at 10:22

0 Answers0