Найти общий префикс в массиве слов

Модератор: [mweb team]

Найти общий префикс в массиве слов

Сообщение Padonak Чт фев 09, 2023 18:05

Код: Выделить всё
const s = ['flower', 'flow', 'flight'],
      a = ['sunday', 'sunny', 'sun'],
      z = ['sunday', 'sunny', 'sun', 'cunning'];
   
   function pref(arr){
   if(!Array.isArray(arr) || !arr.length) return 'Wrong data passed';
   
   const ar = arr.sort( (a, b) => a.length - b.length );
   let found = '';
   
   for(let n of ar[0]){
   if(ar.every( x => x.at(ar[0].indexOf(n)) == n )){ found += n; }
   else{ break; }
   }
   
   return found.length ? found : 'No common prefix found';
   }
   
   console.log( pref(s) ); // fl
   console.log( pref(a) ); // sun
   console.log( pref(z) ); // No common prefix found
   console.log( pref([]) ); // Wrong data passed
   console.log( pref('shit') ); // Wrong data passed
   console.log( pref(['shit']) ); // shit
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Re: Найти общий префикс в массиве слов

Сообщение Skay Сб фев 11, 2023 17:09

Прям задачи с leetcode )
money + sleep = awesome
Аватара пользователя
Skay
Хронический Астматик
 
Сообщения: 1373
Зарегистрирован: Вс мар 10, 2002 1:01

Re: Найти общий префикс в массиве слов

Сообщение Padonak Чт фев 16, 2023 11:29

Skay писал(а):leetcode
даже и не знал про эту херь никогда, спасибо ))
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону


Вернуться в Javascript

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron