Ошибка при попытке вернуть строку с вызовами из массива - PullRequest
1 голос
/ 03 мая 2020

Этот код возвращает ошибку и 2-й оператор 'else if':

   function likes(names) {

  if (names.length == 0) {
    return "no one likes this"
  } else if (names.length == 1) {
    return names[0] + " likes this"
  };

  // the above is running fine if I remove the second to else if statements. 

  else if (names.length == 2) {
    return names[0] + " and " /*error starts here*/ + names[0] + " like this"
  };
  else if (names.length == 3) {
    return names[0] + ", " + names[1] + " and  " + names[2] + " like this"
  };
  else if (names.lenght > 3) {
    return names[0] + ", " + names[1] + " and  " + names.length - 1 + "others like this};
  }
  console.log(likes(["james", "pete"]))

Я думаю, это проблема с тем, как я соединяю свои струны, но я не могу понять это.

Извините, все еще учусь. Ценю любые отзывы.

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Вы добавляете ; после каждого else if, который нарушает код. Также в этой строке нет закрывающих "

return names[0] + ", " + names[1] + " and  " + names.length - 1 + "others like this}

function likes(names) {

  if (names.length == 0) {
    return "no one likes this"
  } else if (names.length == 1) {
    return names[0] + " likes this"
  }

  // the above is running fine if I remove the second to else if statements. 
  else if (names.length == 2) {
    return names[0] + " and " /*error starts here*/ + names[0] + " like this"
  } else if (names.length == 3) {
    return names[0] + ", " + names[1] + " and  " + names[2] + " like this"
  } else if (names.lenght > 3) {
    return names[0] + ", " + names[1] + " and  " + names.length - 1 + "others like this"
  }
}

console.log(likes(["james", "pete"]))
0 голосов
/ 03 мая 2020

Проблемы:

  1. нежелательные точки с запятой в конце каждого оператора if };
  2. И последнее предложение не закрывается должным образом с "

function likes(names) {

  if (names.length == 0) {
    return "no one likes this"
  } else if (names.length == 1) {
    return names[0] + " likes this"
  } else if (names.length == 2) {
    return names[0] + " and " /*error starts here*/ + names[0] + " like this"
  } else if (names.length == 3) {
    return names[0] + ", " + names[1] + " and  " + names[2] + " like this"
  } else if (names.lenght > 3) {
    return names[0] + ", " + names[1] + " and  " + (names.length - 1) + "others like this"
  }
}
console.log(likes(["james", "pete"]))
...