Size: a a a

JavaScript Noobs — сообщество новичков

2021 May 18

j

jk in JavaScript Noobs — сообщество новичков
Ага, прикольно.
источник

SB

Sergiy Brotsky in JavaScript Noobs — сообщество новичков
да
источник

К

Каренина in JavaScript Noobs — сообщество новичков
источник

C

Cotangent in JavaScript Noobs — сообщество новичков
уверен что можно в одну строку
источник

j

jk in JavaScript Noobs — сообщество новичков
А зачем создавать массив через конструктор да ещё и с определённой длиной?
источник

К

Каренина in JavaScript Noobs — сообщество новичков
по большей части, привычка от джавы
источник

SB

Sergiy Brotsky in JavaScript Noobs — сообщество новичков
Спасибо вам
источник

К

Каренина in JavaScript Noobs — сообщество новичков
ответила не тому кто спрашивал, сорян
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
там надо все возможные вхождения смотреть, так что даже хз, на самом деле, какая там сложность будет
источник

К

Каренина in JavaScript Noobs — сообщество новичков
ну можно просто по массиву пройтись один раз сравнивая со всем. Если найдем идеальное совпадение или следующее слово будет совпадать меньше чем предыдущее, то мы нашли искомое. Худший случай когда искомое это последний элемент массива, тогда сложность будет n.
Но если у нас задача смотреть не просто по первым символам, а и учитывать что символ в середине слова может не совпадать, а все остальное да - то тут задачка уже покруче
источник

К

Каренина in JavaScript Noobs — сообщество новичков
что-то у меня опечатки с матюками получаются))
источник

SB

Sergiy Brotsky in JavaScript Noobs — сообщество новичков
У меня react-native-draggable-flatlist хочу сохранить на бэк массив интексов, чтобы позже отсортировать массив при перезапуске приложения. Порядок индексов может быть любым.
источник

К

Каренина in JavaScript Noobs — сообщество новичков
мы вроде как о разных задачах говорим
источник

SB

Sergiy Brotsky in JavaScript Noobs — сообщество новичков
Я просто обяснил для чего мне нужна эта сортировка и как я буду его использовать
источник

A

Alexiagray [Свободен... in JavaScript Noobs — сообщество новичков
сплитишь слово

заходишь циклм for of в массив где у тебя слова ['repo', 'roma']

сплитишь значение массива входишь в нем в цикл и проверяешь если буква равняется внутреней букве то добавляешь к итоговому значению +1
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
(()=>{
const findMatches = (str, query) => {
   const matches = [];

   for (let sliceSize = 1; sliceSize < query.length; sliceSize++) {
       for (let i = 0; i < query.length - sliceSize; i++) {      
           const slice = query.slice(i, i + sliceSize);            
           if (str.includes(slice)) {
               matches.push({ matchLength: sliceSize, match: slice });
           }
       }
   }

   return matches;
};


const sort = (data, input) => {
   const bestMatch = matches => matches.reduce((prev, current) => (prev.matchLength > current.matchLength) ? prev : current);

   const matches = Object.fromEntries(
       data.map(item => {
           const currentMatches = findMatches(item, input);
           return [item, currentMatches.length ? bestMatch(currentMatches) : { matchLength: 0 }]
       })
   );

   return [...data].sort((a, b) => matches[b].matchLength - matches[a].matchLength);
};



const data = [
   'repo',
   'orange',
   'russia',
   'x'
];

const input = 'repository';
console.log(sort(data, input));
})()


вот такое только придумал, супер в лоб и тупо, но проще не придумать
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
iife потому что в сниппетах в браузере чекал
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
а, можно проще: начать с самых длинных кусков и, как только найдёт, сразу возвращать
все сразу проще станет и быстрее, но пропадёт всякая метаинфа
источник

К

Каренина in JavaScript Noobs — сообщество новичков
у вас чето дает разный результат если перемешать массив
источник