Мы будем писать функцию нахождения самой короткой строки в массиве по шагам.
Исходный массив для тестирования будет такой:
let arr = [1, 'Александр', 2, 'Вася', 'Гриша', 367323 ]
Шаг № 1 — Фильтрация массива на наличие строк
arr.filter(i=>i.constructor.name==='String')
Шаг № 2 — Проверка, что в массиве есть строки
if(arr.filter(i=>i.constructor.name==='String').length = 0){return console.log("Строки не найдены в массиве")}
Шаг № 3 — Создание пар «строка/длина»
arr.filter(i=>i.constructor.name==='String').map(t=>({str: t, size: t.length}))
Шаг № 4 — Сортировка по возрастанию длины
arr.filter(i=>i.constructor.name==='String').map(t=>({str: t, size: t.length})).sort((a,b)=>(a.size-b.size))
Шаг № 5 — Извлечение первого элемента
arr.filter(i=>i.constructor.name==='String').map(t=>({str: t, size: t.length})).sort((a,b)=>(a.size-b.size))[0].str
Функция нахождения самой короткой строки в массиве
function shortStrFromArray(arr){ if(arr.filter(i=>i.constructor.name==='String').length = 0){return console.log("Строки не найдены в массиве")}; return arr.filter(i=>i.constructor.name==='String').map(t=>({str: t, size: t.length})).sort((a,b)=>(a.size-b.size))[0].str }
Информационные ссылки
Стандарт ECMAScript — https://tc39.es/ecma262/