"как", "по", "он",
"ты", "это", "мы", "за", "сказать", "но", "она", "так",
"его", "к", "от", "а", "то", "вы", "же", "все",
"бы", "тут", "его", "уже", "для", "меня", "или", "если",
"мне", "есть", "нет", "мы", "со", "из", "до", "вас", "какой",
"они", "чем", "где", "есть", "сейчас", "потом", "тебя", "нет",
"да", "хорошо", "почему", "сегодня", "здесь", "просто", "сейчас",
"когда", "время", "чтобы", "быть", "чего", "ну", "еще", "может",
"человек", "без", "вот", "теперь", "кто", "ничего", "себя",
"под", "тоже", "даже", "говорить", "время", "сделать", "перед",
"какой", "зачем", "потому", "один", "другой", "вдруг", "надо",
"совсем", "хотеть", "нельзя", "смотреть", "потому", "потом",
"день", "рука", "глаз", "дом", "вопрос", "работа", "место",
"ребенок", "голова", "стол", "нога", "дверь", "работать"
]
let punctuation = ['.', ',', '?', '!', ':', ':']
function App() {
let a = 10;
let sentence = [];
for (i = 0; sentence.length <= a; i++) {
let random_distance = Math.random();
let punctuation_distance = random_distance.toFixed(1) * 10;
let random_words = Math.random();
let number = random_words.toFixed(2) * 100;
sentence.push(words[number]);
if (sentence.length > punctuation_distance) {
let random_punctuation = Math.random();
let number_punctuation = random_punctuation.toFixed(1) * 10;
sentence.push(punctuation[number_punctuation]);
a++;
}
}
let text = sentence.join(' ');
alert(text);
}
App()
А точно я вспомнил в самом начале это попадалось я подумал мешать не будет
ещё могу порекомендовать не делать такое странное условие в цикле, просто for (let i = 0; i < a; i++) {...} и ничего не прибавлять к a
Если к 'a' ничего не прибавлять то по сути у меня будет 6 слов и 4 пунктуации или как либо ещё
пунктуация добавится в массив после добавления слова, при этом не изменит количество итераций
Я только что попробовал и правда работает
Кстати если не трудно можешь подсказать. Как сделать так что бы в итоговом тексте после '?', '!', '.' была заглавня буква и что бы в конце текста всегда стояла точка и что бы все пунктуации прилегам к левому слову а справ был пробел. Тоесть ПРивет! или Яблоко, груша
В теории, можно просто строку модифицировать в самом конце функции. Пробежать по всем символам, проверять там... Но, я бы не делал массив sentence, а просто пустую строку, которую бы заполнял как-то так: function capitalize(word) { return word.charAt(0).toUpperCase() + word.slice(1); } ... let sentence = ''; for() { ... const prevIsPunctuation = punctuation.includes(sentence.slice(-2, -1)); sentence += prevIsPunctuation ? capitalize(word) : word; if (нужен разделитель) { sentence += punctuation + ' '; } ... }
// word это мой массив с словами function capitalize(word) { // тут я так понял ты получешь первую букву слова и делаешь её заглавной. И добавляешь к этому весь массив кроме первого слова return word.charAt(0).toUpperCase() + word.slice(1); } ... let sentence = ''; for() { ... // тут ты проверяешь есть ли в массиве punctuation элемент sentecnce и ещё и с конца - эту строку кода я не понял const prevIsPunctuation = punctuation.includes(sentence.slice(-2, -1)); // здесь ты в sentence добавляешь уже новое слово с заглавной буквы sentence += prevIsPunctuation ? capitalize(word) : word; // тут я не понял какое нужно условие if (нужен разделитель) { // тут ты добавляешь в строку sentence пунктуацию и пробел sentence += punctuation + ' '; }
Обсуждают сегодня