Usually mapping over an array implies you are modifying each member of the array, so maybe .reduce is a better option here. You reduce over the array and transform it into something different.
I'd say that setting fiber = item if the function doesn't return isn't that great. Since you are doing two discrete operations - one is transforming the array and the other is picking out the single item that isn't celery - two operations is fine. The second operation could just call filter on the array and return 'celery'. Or .some() over it and return false when you find it.
To me, combining the operations into that one callback is not as clear as doing the two separately. Performance shouldn't be a concern until it is a concern IMO.