Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接值时发生Javascript错误_Javascript_Arrays_String - Fatal编程技术网

连接值时发生Javascript错误

连接值时发生Javascript错误,javascript,arrays,string,Javascript,Arrays,String,我正在“codewars”网站上尝试一个Javascript挑战,其说明如下: 实现如下函数::[String]->String,它必须接受输入数组,包含喜欢某个项目的人的姓名。它必须返回显示文本,如示例所示: likes [] // must be "no one likes this" likes ["Peter"] // must be "Peter likes this" likes ["Jacob", "Alex"] // must be "Jacob and Alex like th

我正在“codewars”网站上尝试一个Javascript挑战,其说明如下:

实现如下函数::[String]->String,它必须接受输入数组,包含喜欢某个项目的人的姓名。它必须返回显示文本,如示例所示:

likes [] // must be "no one likes this"
likes ["Peter"] // must be "Peter likes this"
likes ["Jacob", "Alex"] // must be "Jacob and Alex like this"
likes ["Max", "John", "Mark"] // must be "Max, John and Mark like this"
likes ["Alex", "Jacob", "Mark", "Max"] // must be "Alex, Jacob and 2 others like this"
For more than 4 names, the number in and 2 others simply increases.
我的尝试是:

function likes(names) {
  var response = "a"
  console.log(names[0]);
  if (names.length === 0) {
    response = 'no one likes this';
  }
  else if (names.length === 1) {
    response = names[0] +' likes this';
  }
  else if (names.length === 2) {
    response = names[0] + ' and' + names[1] ' like this';
  }
  else if (names.length === 3) {
    response = names[0] + ',' + names[1] + ' and' + names[2] + ' like this';
  }
  else {
    response = names[0] + ',' + names[1] + ' and' + (names.length-2).toString() + ' others like this';
  }
  return response;
}
并返回此错误:

kata: Unexpected token:44 response = names[0] + ' and' + names[1] ' like this';

不能将数组中的字符串值与另一个字符串连接起来吗?非常感谢您的帮助。

您在这行中忘记了一个
+

response = names[0] + ' and' + names[1] + ' like this';
不重要,但您也忘记了一个
和“and”应该是“and”

function likes(names) {

    var response = "a";

    if (names.length === 0) {
        response = 'no one likes this';
    } else if (names.length === 1) {
        response = names[0] + ' likes this';
    } else if (names.length === 2) {
        response = names[0] + ' and ' + names[1] + ' like this';
    } else if (names.length === 3) {
        response = names[0] + ', ' + names[1] + ' and ' + names[2] + ' like this';
    } else {
        response = names[0] + ', ' + names[1] + ' and ' + (names.length - 2).toString() + ' others like this';
    }
    return response;
}

您在这一行忘记了一个
+

response = names[0] + ' and' + names[1] + ' like this';
不重要,但您也忘记了一个
和“and”应该是“and”

function likes(names) {

    var response = "a";

    if (names.length === 0) {
        response = 'no one likes this';
    } else if (names.length === 1) {
        response = names[0] + ' likes this';
    } else if (names.length === 2) {
        response = names[0] + ' and ' + names[1] + ' like this';
    } else if (names.length === 3) {
        response = names[0] + ', ' + names[1] + ' and ' + names[2] + ' like this';
    } else {
        response = names[0] + ', ' + names[1] + ' and ' + (names.length - 2).toString() + ' others like this';
    }
    return response;
}

您缺少
+
符号

response = names[0] + ' and' + names[1] ' like this';
像这样试试

response = names[0] + ' and' + names[1] +' like this';

您缺少
+
符号

response = names[0] + ' and' + names[1] ' like this';
像这样试试

response = names[0] + ' and' + names[1] +' like this';