我创建了一个将数字插入到整数数组中的函数。我假设数组已经被排序了,我希望它返回可以插入数字的最低索引。我已经做到了,但是在返回索引之后,当我在repl.it上运行它时,它也会返回未定义的信息。想知道为什么会这样吗?
function lowestIndexInsert(num,arr){
for (i = 0; i<arr.length; i++){
if (arr[i]>num){
arr[i]=num;
}
}
return arr.indexOf(num);
}
console.log(lowestIndexInsert(32,[8,9,15,30,35]));
答案 0 :(得分:0)
“未定义”消息来自console.log。例如console.log('test')也会显示未定义。 试试wthout console.log,就完成了
function lowestIndexInsert(num,arr){
for (i = 0; i<arr.length; i++){
if (arr[i]>num){
arr[i]=num;
}
}
return arr.indexOf(num);
}
lowestIndexInsert(32,[8,9,15,30,35])
答案 1 :(得分:0)
如果console.log()
语句是源代码的一部分,您将仅获得所需的结果。但是,如果您实际上是从控制台执行console.log()
,则将获得额外的undefined
,因为在console
中,您不必要求console.log()
,本身没有返回值(undefined
)。在这种情况下,您只需要调用函数并返回其return
值即可。
答案 2 :(得分:0)
简单的解决方案
let arr = [1,2,32,35,56,68]
let num = 30
function lowestIndexInsert(num,arr){
for(let i of arr){
if(arr[i]>num)
return i
}
}
console.log(lowestIndexInsert(num,arr))