Список покупок

Кому будет интересно моё решение, может кто оценит :slight_smile:

var groceries = ['чай', 'шпроты', 'печенье', 'сахар', 'чипсы'];
var shoppingList = '';

for (var i = 0; i < groceries.length; i++) {
  if (i >= 1) {
    shoppingList += ', ';
  }
  shoppingList += groceries[i];
}
12 лайков

Форматируйте код с помощью кнопки </> в редакторе сообщений, пожалуйста.

1 лайк

долго искал решение как расположить в строку текст.и нашел метод join
`var groceries = [‘чай’, ‘шпроты’, ‘печенье’, ‘сахар’, ‘чипсы’];
var shoppingList = groceries.join(’, ');

console.log(shoppingList);`
отсюда вопрос: почему мы не проходим методы массивов?

3 лайка

@GreenLera, ^ вопрос к разработчикам.

а вы кто ? мое решение правильное?

Ваше решение имеет право на жизнь:) В реале если нужно перевести массив в строку так и делают. Из названия тут понятно что htmlacademy это не про программирование, а про верстку, этим и объясняется поверхностное изучение javascript

спб.я грешным делом думал,что js улучшает интерактив страницы.

1 лайк

для улучшение интерактива как раз местные курсы и подходят. А для программирования, создания приложений нужны вещи более фундаментальные

http://learn.javascript.ru/array-methods

в качестве справочника рекомендую https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array

Ну и замечу, что методы не требуют какого-то глубоко изучения и запоминания + есть дополнительные библиотеки для работы с коллекциями(самая известная lodash). Исключения только обход коллекций(map, reduce, filter) - циклами это делать так себе занятие, особенно если сложная вложенная структура

еще раз спс

Здравствуйте. По ходу заданий в курсах и в вызовах встречаются методы. Мы упоминаем их, когда они очень упрощают решение и действительно необходимы.

Почему мы не рассказываем много про методы? Потому что мы учим программировать. Чтобы научиться программировать, надо уметь самостоятельно писать код, разные алгоритмы, решать различные задачи, только так вы наберётесь опыта и сможете писать код. Методы не требуют изучения, чтобы использовать метод, достаточно открыть MDN, посмотреть, как метод работает и использовать его. Это не про изучение программирования, а про упрощение ежедневных задач разработчика.

Это как с библиотеками и фреймворками — если вы знаете программирование и умеете писать код, вам надо очень мало времени, чтобы разобраться с фреймворком или библиотекой и начать с ними работать.

Мы всё-таки за глубокие фундаментальные знания)

9 лайков

for (var i=0; i <= groceries.length-1; i++) {
if (i!=groceries.length-1) {
shoppingList += groceries[i] + ', ';
} else {shoppingList += groceries[i];}
}

2 лайка
for (var i=0; i<groceries.length; i++) {
  shoppingList = groceries.join(', ');
  }

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

for (var i=0; i<groceries.length; i++) {
shoppingList = groceries.join(’, ');
}
Не понимаю смысла в последних строках, если идеально работает без них

var groceries = ['чай', 'шпроты', 'печенье', 'сахар', 'чипсы'];
var shoppingList = groceries[0];

for (var i = 1; i < groceries.length; i++) {
  var shoppingList = shoppingList + ', ' + groceries[i];
}

как вариант

4 лайка

Мой вариант :smirk_cat:

Список покупок
console.log('Программа "Список покупок" by Nerealist');

var groceries = ['чай', 'шпроты', 'печенье', 'сахар', 'чипсы'];
var shoppingList = '';

for (var i = 0; i < groceries.length - 1; i++) {
  shoppingList += groceries[i] + ', ';
}
shoppingList += groceries[groceries.length - 1];

console.log('Ваш список покупок, Сэр : ' + shoppingList);
3 лайка

var groceries = [‘чай’, ‘шпроты’, ‘печенье’, ‘сахар’, ‘чипсы’];
var shoppingList = ‘’;

for (var i = 0; i <= groceries.length - 1; i++) {
if (i < groceries.length - 1) {
shoppingList += groceries[i] + ', ';
} else {
if (i = groceries.length - 1) {
shoppingList += groceries[i];
}
}
}

предлагаю два решения задачи подлинее и по короче ))
1-ое длинное:

var groceries = ['чай', 'шпроты', 'печенье', 'сахар', 'чипсы'];
var shoppingList = '';

for (var i = 0; i <= groceries.length - 1; i++) {
  if (i != groceries.length - 1) {
    shoppingList += groceries[i] + ', '
    
  } else if (i = groceries.length - 1) {
  shoppingList += groceries[i]; 
  }
}

2-е короткое:

var groceries = ['чай', 'шпроты', 'печенье', 'сахар', 'чипсы'];
var shoppingList = '';

shoppingList = groceries.join(', ');