我在使用输入数组时遇到问题,尝试在CodeWars上进行Javascript质询。
这是指令:实现一个函数like :: [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"
Basicliy就像facebook一样系统。有人可以解释一下我做错了什么吗?这是我的试用代码
function likes (names) {
var names[7];
if ( names.length=0) {
return "nobody likes this"
} else if (names.length=1) {
return names[0]+"likes this";
} else if (names.length=2) {
return names[0]+names[1]"like this"
} else if (names.length=3) {
return names[0]+''+names [1]+''+names[2]+''+ " likes this"
} else (names.length >3) {
return names[0]+''+names [1]+''+ names.length-1 + "likes this"
}
}
答案 0 :(得分:0)
var names
是声明名为names
的变量的语法。
names[7]
是读取names
的值然后访问名为7
的结果对象的属性的语法。
您无法同时创建变量并访问其值的属性...尚未分配变量的值。
答案 1 :(得分:0)
尝试使用此代码代替您的代码,简单概念
var likes=[];
//call this like function with name as parameter, while click the like button
function like(name)
{
likes.push(name);
}
function viewlikes(){// here you need write the condition and call where you want display the details
if(likes.length==0)
{
return " nobody likes this"
}
if(likes.length==1)
{
return likes[0] + " like this"
}
if(likes.length==2)
{
return likes[0] + "," + likes[1] + " like this"
}
if(likes.length==3)
{
return likes[0] + "," + likes[1] + " and " + likes[2] + " like this"
}
return likes[0] + "," + likes[1] + " and " + likes.length-2 " others like this"
}