写一个函数getoption(m,i),它取一个参数m,一个字符串 由逗号“,”和整数i≥-1分隔的单词并返回第i个 在m。如果i = -1,则返回随机字,否则返回第i个字 退回。不需要进行错误检查。
例如,getoption(“hello,hi,why,ok”,1)必须返回hello。
getoption("hello,hi,why,ok",4)
必须返回确定。
getoption("hello,hi,why,ok",-1)
可以返回hello,hi,是谁 确定。提示:您需要按字符“,”拆分字符串m。这将 导致一系列单词。记住第一个单词将是索引 0 !!!!现在,如果我大于-1,则再次返回元素i + 1 数组的起始索引是0.如果i = -1则生成随机数 数字从0到array.length-1然后返回相应的单词 这个数字。
您好,我已经编写了下面的代码,我在第6行有一个类型错误,我不知道如何修复它。有人可以帮忙吗?
function getoption(m, i) {
var num = m + Math.floor((m + 1) * Math.random());
var j = i.indexOf(num);
while (j != -1) {
num = m + Math.floor((m + 1) * Math.random());
j = i.indexOf(num);
}
return (num);
}
document.write(getoption("hello,hi,why,ok", -1))
答案 0 :(得分:0)
为了获得想要的结果,我建议将字符串拆分为带有String#split()
的字数组,并将其存储在适当的变量中。
然后我建议检查索引是否等于c
并获得一个带有数组长度和Math.random()
的新索引。
现在返回带有单词数组索引的元素。
-1

答案 1 :(得分:0)
您可以更简单地减少功能。
尝试类似的东西:
function getoption(m, i) {
var words = m.split(",");
if (i == -1) {
i = Math.floor(Math.random() * words.length);
}
return words[i];
}
document.write(getoption("hello,hi,why,ok",-1));
document.write("<br>");
document.write(getoption("hello,hi,why,ok",0));
document.write("<br>");
document.write(getoption("hello,hi,why,ok",2));
我希望有帮助:D