Items also occurs in a set
The functional approach is almost certainly faster despite having worse big-O — \$O(j \cdot s)\$ functional vs \$O(j + s)\$ imperative — because linear searches of small arrays are very fast. 

You don't need to destructure j and adding a boolean to a number coerces the boolean to 0 or 1.  

sum is a better name than num and c is a good name for a character iterator.

const findNumberOfJewels = (j,s) =&gt; [...s].reduce( (sum, c) =&gt; sum + j.includes(c),  0 );