Задача легкая, но вдруг кому-нибудь понадобится решение
var books = ['Улисс', 'Маугли', 'Сияние', 'Ревизор', 'Гамлет', 'Обломов', 'Дюймовочка', 'Шантарам', 'Вий', 'Сильмариллион', 'Оно'];
var minNumber = 3;
var maxNumber = 5;
var filteredBooks = [];
for(var i = 0; i < books.length; i++) {
if(books[i].length >= minNumber && books[i].length <= maxNumber) {
filteredBooks.push(books[i]);
}
}
6 лайков
SNPR
22.Август.2018 20:19:21
2
А у меня так вышло:
var books = ['Улисс', 'Маугли', 'Сияние', 'Ревизор', 'Гамлет', 'Обломов', 'Дюймовочка', 'Шантарам', 'Вий', 'Сильмариллион', 'Оно'];
var minNumber = 3;
var maxNumber = 5;
var filteredBooks = [];
filteredBooks = books.filter((item) => item.length >= minNumber && item.length <= maxNumber);
Я смотрю этот тип сообщением выше чисто выё своими знаниями, т.к. решить согласно пройденным темам он не может lol и такая шляпа у него в каждой задаче
var j=0;
for (var i=0; i<books.length; i++) {
if ((books[i].length>=minNumber) && (books[i].length<=maxNumber)) {
filteredBooks[j] = books[i];
j++;
}
}
а у меня так вышло
7 лайков
Вот тоже быстро решил задачу ,но проверку не проходила:
var books = [‘Улисс’, ‘Маугли’, ‘Сияние’, ‘Ревизор’, ‘Гамлет’, ‘Обломов’, ‘Дюймовочка’, ‘Шантарам’, ‘Вий’, ‘Сильмариллион’, ‘Оно’];
var minNumber = 3;
var maxNumber = 5;
var filteredBooks = [];
for(var i = 0; i<books.length;i++){
if(books[i].length>=minNumber&&books[i].length<=maxNumber){
filteredBooks.push(books[i])}
}
console.log(filteredBooks)
Потом убрал console.log и стало норм. Кто знает почему так? Или в платформе глюк?
Получилось снова так же, как у первого оратора
Список для чтения
console.log('Программа "Список для чтения" by Nerealist');
var books = ['Улисс', 'Маугли', 'Сияние', 'Ревизор', 'Гамлет', 'Обломов', 'Дюймовочка', 'Шантарам', 'Вий', 'Сильмариллион', 'Оно'];
var minNumber = 3;
var maxNumber = 5;
var filteredBooks = [];
console.log('В данном списке : ' + books + ' - ищем книги, в названии которых от ' + minNumber + ' до ' + maxNumber + ' букв ...');
for (var i = 0; i < books.length; i++) {
if (books[i].length >= minNumber && books[i].length <= maxNumber) {
filteredBooks.push(books[i]);
}
}
console.log('... Идеальные для чтения следующие книги, Сэр : ' + filteredBooks);
P.s. нравится “украшать решение”, для меня так наглядней при выводе результата и проще тестировать с разными значениями , а то может кого-то бесит
3 лайка
Roman1
15.Ноябрь.2018 07:25:41
6
var books = ['Улисс', 'Маугли', 'Сияние', 'Ревизор', 'Гамлет', 'Обломов', 'Дюймовочка', 'Шантарам', 'Вий', 'Сильмариллион', 'Оно'];
var minNumber = 3;
var maxNumber = 5;
var filteredBooks = [];
for (var i = 0; i <= books.length - 1; i++) {
if (books[i].length >= minNumber && books[i].length <= maxNumber) {
filteredBooks.push(books[i]);
}
}
1 лайк
Ineska
15.Ноябрь.2018 07:27:35
7
Форматируйте код с помощью кнопки </> в редакторе, пожалуйста, чтобы он корректно отображался. И в остальных темах поправьте тоже.
1 лайк
EvilF
17.Август.2019 17:51:37
9
Подскажите, можно это дело как то сократить?
books[i].length >= minNumber && books[i].length <= maxNumber
А то очень уже не красиво. Может через запятую или еще как? В пределах изученного или немного дальше. Но именно оставить сравнение.
И есть ли возможность как то записать books[i].length >= minNumber && <= maxNumber
?
Заранее спасибо и бобра ))
разве что вот так:
filteredBooks = books.filter(item => item.length >= minNumber && item.length <= maxNumber);
т.е. без цикла, с перебирающим методом. двойные (тройные и т.д.) неравенства в JS возможны, но работают они не так, как вы думаете, они последовательно вычисляют результат слева направо, вместо того, как это делают математики, воспринимая двойное неравенство как систему неравенств, своя логика в этом есть =) просто не очевидно для новичков
bamb3y
17.Ноябрь.2019 22:34:43
12
var books = [‘Улисс’, ‘Маугли’, ‘Сияние’, ‘Ревизор’, ‘Гамлет’, ‘Обломов’, ‘Дюймовочка’, ‘Шантарам’, ‘Вий’, ‘Сильмариллион’, ‘Оно’];
var minNumber = 3;
var maxNumber = 5;
var filteredBooks = [];
books.reduce(function(sum, corrent) {
if (corrent.length <= maxNumber && corrent.length >= minNumber) {
filteredBooks.push(corrent);
}
}, 0);
var books = [‘Улисс’, ‘Маугли’, ‘Сияние’, ‘Ревизор’, ‘Гамлет’, ‘Обломов’, ‘Дюймовочка’, ‘Шантарам’, ‘Вий’, ‘Сильмариллион’, ‘Оно’];
var minNumber = 3;
var maxNumber = 5;
var filteredBooks = [];
for (var i = 0; i <= books.length -1; i++) {
if (books[i].length >= minNumber && books[i].length <= maxNumber) {
filteredBooks.push(books[i]);
console.log(filteredBooks);
}
}
Вот мой код:
var books = [‘Улисс’, ‘Маугли’, ‘Сияние’, ‘Ревизор’, ‘Гамлет’, ‘Обломов’, ‘Дюймовочка’, ‘Шантарам’, ‘Вий’, ‘Сильмариллион’, ‘Оно’];
var minNumber = 3;
var maxNumber = 5;
var filteredBooks = [];
let lengths = books.map(item => item.length);
// console.log(lengths);
for(var i = 0; i <= lengths.length; i++) {
if((minNumber <= lengths[i]) && (lengths[i] <= maxNumber)) {
filteredBooks.push(books[i]);
}
}
console.log(filteredBooks);
Мое решение.
var books = ['Улисс', 'Маугли', 'Сияние', 'Ревизор', 'Гамлет', 'Обломов', 'Дюймовочка', 'Шантарам', 'Вий', 'Сильмариллион', 'Оно'];
var minNumber = 3;
var maxNumber = 5;
var filteredBooks = [];
for(var i = 0; i < books.length; i++){
var bookNameLength = books[i].length;
if(bookNameLength >= minNumber && bookNameLength <= maxNumber){
filteredBooks.push(books[i]);
}
}
console.log(filteredBooks);
hexOr
20.Апрель.2021 08:41:57
17
let books = ['Улисс', 'Маугли', 'Сияние', 'Ревизор', 'Гамлет', 'Обломов', 'Дюймовочка', 'Шантарам', 'Вий', 'Сильмариллион', 'Оно'];
let minNumber = 3;
let maxNumber = 5;
let filteredBooks = [];
for(let i = 0; i < books.length; i++) {
if(books[i].length >= minNumber && books[i].length <= maxNumber) {
filteredBooks.push(books[i])
}
}
Alexei
06.Май.2021 16:05:33
18
Да, несложная задачка. Практически у всех одинаковое решение
let books = ['Улисс', 'Маугли', 'Сияние', 'Ревизор', 'Гамлет', 'Обломов', 'Дюймовочка', 'Шантарам', 'Вий', 'Сильмариллион', 'Оно'];
let minNumber = 3;
let maxNumber = 7;
let filteredBooks = [];
for (let i = 0; i <= books.length - 1; i++) {
if (books[i].length >= minNumber && books[i].length <= maxNumber) {
filteredBooks.push(books[i]);
}
}
у меня другое решение
let books = [‘Улисс’, ‘Маугли’, ‘Сияние’, ‘Ревизор’, ‘Гамлет’, ‘Обломов’, ‘Дюймовочка’, ‘Шантарам’, ‘Вий’, ‘Сильмариллион’, ‘Оно’];
let minNumber = 3;
let maxNumber = 5;
let filteredBooks = [];
for (let i = 0; i < books.length; i++){
for (let j = minNumber; j <= maxNumber; j++) {
if(books[i].length === j){
filteredBooks.push(books[i])
}
}
}
for (let i = 0; i < books.length; i++) {
if (books[i].length >= minNumber && books[i].length <= maxNumber) {
filteredBooks.push(books[i]);
};
};