2016-07-25 100 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';