Я пытаюсь проверить свой список покупок с помощью этого кода со спредом «…», но получил возвращаемое значение «молоко» и только первое значение

1

может кто-то указать мне, что мне не хватает... код ниже:

function validateList(items) {
    if(items.indexOf('veggies') < 0) {
    return ['veggies', ...items]
  }
  return items;
}

validateList('apple', 'fish', 'eggs');

заранее спасибо..

  • 2
    Вы, вероятно, имеете в виду function validateList(...items) . В твоем отрывке нет milk .
  • 0
    да, это было это .. только у меня закружилась голова после нескольких часов просмотра моего экрана сегодня .. большое спасибо ..
Теги:

2 ответа

0
Лучший ответ

ИМХО, вы ищете это (используя spread):

function validateList(...items) {
    if(items.indexOf('veggies') < 0) {
    return ['veggies', ...items]
  }
  return items;
}

console.log(validateList('apple', 'fish', 'eggs'));
  • 0
    мой плохой .. тупой .. я забыл распространение в validateList (... items) .. я знал, что что-то забыл .. у меня закружилась голова при просмотре моего кода .. спасибо приятель!
0

Однако, когда вы вызываете функцию, вы передаете 3 аргумента, функция ожидает только 1 аргумент. Кажется, вы хотите представить их в массив. Следовательно, вам нужно будет обновить свою функцию до следующего с помощью параметров Rest Parameters

function validateList(...items) {
    if(items.indexOf('veggies') < 0) {
    return ['veggies', ...items]
  }
  return items;
}

console.log(validateList('apple', 'fish', 'eggs'));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню