我正在努力完成以下任务:
考虑大小为N的整数数组。您应该找到并打印值为X的所有元素的位置。您可以选择变量和值。
以下是我的变数:
var numLocation = [];
var givenNum = 8;
var arr = [0,8,1,2,4,5,7,8,9,0,8]
这是我的功能
function indexPosition(arr) {
for(var i = 0; i <= arr.length; i++) {
if (arr[i] === givenNum) {
numLocation.push(i)
} else {
console.log (numLocation)
}
}
}
调用函数后,这是我的结果:
[]
[1]
[1]
[1]
[1]
[1]
[1,7]
[1,7]
[1,7,10]
我如何只显示最后一次迭代,它显示数字8所在的三个位置?意思是,我怎样才能在console.log中找到最终结果?
答案 0 :(得分:1)
在for循环之外调用log语句。像这样:
function indexPosition(arr, givenNum) {
var numLocation = []
for (var i = 0; i <= arr.length; i++) {
if (arr[i] === givenNum) {
numLocation.push(i)
}
}
console.log(numLocation)
}
答案 1 :(得分:-1)
我自己想通了。我需要一个if,如果比较迭代完成时只显示一个结果。
function indexPosition(arr) {
for(var i = 0; i <= arr.length; i++) {
if (arr[i] === givenNum) {
numLocation.push(i)
} else if (i === arr.length) {
console.log (numLocation)
}
}
}