Loading...
PreslavaJeleva avatar PreslavaJeleva 8 Точки

*Hard Words

Здравейте!

Не намерих във форума решена следната задача:

  1. *Hard Words

You will receive an array, which holds the string and another array.

The string is a letter from a young boy who does not yet know some words and you have to help him. The letter has a few holes, these holes are the words unknown to the boy and you must fill them with strings from the array you receive at the second index.

If the length of the hole is 4 you have to replace it with string with the same length and so on…

Examples

Input

['Hi, grandma! I\'m so ____ to write to you. ______ the winter vacation, so _______ things happened. My dad bought me a sled. Mom started a new job as a __________. My brother\'s ankle is ________, and now it bothers me even more. Every night Mom cooks ___ on your recipe because it is the most delicious. I hope this year Santa will _____ me a robot.',
['pie', 'bring', 'glad', 'During', 'amazing', 'pharmacist', 'sprained']]

Output

Hi, grandma! I'm so glad to write to you. During the winter vacation, so amazing things happened. My dad bought me a sled. Mom started a new job as a pharmacist. My brother's ankle is sprained, and now it bothers me even more. Every night Mom cooks pie on your recipe because it is the most delicious. I hope this year Santa will bring me a robot.

https://pastebin.com/Bi4RDyKv

Не пиша нещо както трябва.

Ако може да ми предложите решение без regex.

Благодаря!

 

Тагове:
0
JavaScript Fundamentals
MartinBG avatar MartinBG 4803 Точки
Best Answer

Решението не работи, защото думите не са сортирани по дължина.

Например при вход:

['a__b_c', ['x','yy']]

Ще получим ax_b_c вместо ayybxc

Решението ще мине, ако добавим сортировка на думите по дължина (в намаляващ ред) преди for цикъла:

words.sort((a, b) => b.length - a.length);

:


 

0
PreslavaJeleva avatar PreslavaJeleva 8 Точки

Много благодаря!! :)

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.