2016-07-25 72 views
-3

我谷歌的解决方案,让我产生一个随机数,我发现这个1和6之间:http://www.w3schools.com/jsref/jsref_random.asp随机计数

现在我tryed在我的代码使用它:

$scope.getUserImage = function (user) { 
    if (user.avatar) { 
     return user.avatar; 
    } else { 
     return '/images/icons/user-' + user.gender((Math.random() * 6) + 1) + '.svg'; 
    } 
}; 

但与此我得到一个错误,这意味着user.gender没有任何功能。我知道这是一个非常基本的问题。我开始使用JavaScript。我是一名设计师。

+0

把一个'+''gender'如果你想连接这两个值后。 – 2016-07-25 23:03:10

+0

'console.log((Math.random()* 6)+ 1);' – epascarello

回答

2

由于您想将字符串添加到一起(因为我们正在讨论字符串,所以称为“连接”),请使用+符号分隔每个字符串。但1-6逻辑也是错误的,你需要将这些数字舍去。

$scope.getUserImage = function (user) { 
    if (user.avatar) { 
     return user.avatar; 
    } else { 
     var randomNumberOneToSix = Math.floor(Math.random() * 6 + 1); 
     return '/images/icons/user-' + user.gender + randomNumberOneToSix + '.svg'; 
    } 
}; 

奖励提示:w3schools不是一个很好的资源。将'mdn'添加到每个搜索中,并使用Mozilla出色的文档学习Web技术。

+0

ahh非常感谢!但他输出的计数如下所示:/images/icons/user-female5.488666894449929.svg我只需要计数在1到6之间......为什么他会在逗号后生成这么多数字? –

+0

@SvenBudak:'5.48866689 ... * * *介于1到6之间。您的W3Schools链接显示如何消除小数部分,如果这是您想要的。 – 2016-07-25 23:07:36

+0

非常棒!非常感谢! –

0

你错过了一个 “+” 来Concat的性别改变这一行

return '/images/icons/user-' + user.gender((Math.random() * 6) + 1) + '.svg'; 

return '/images/icons/user-' + user.gender + ((Math.random() * 6) + 1) + '.svg';