提问人:Arin Avanusyan 提问时间:10/17/2022 最后编辑:clonedArin Avanusyan 更新时间:2/23/2023 访问量:380
查找数组中的第一个正数
Finding the first positive number in the array
问:
我想在控制台博客中显示数组中的第一个正数,但根据我的代码,它显示第二个正数,即 6。请回答我的问题,并解释我的代码是如何工作的。
let values = [-1, 5, -6, 6, -10, -5, 3, 4, -1, 8, 1, -10, 3];
for (const number of values) {
if (values[number] >= 0) {
console.log(number); break;
}
} //6
for (const key in values) {
if (values[key] >= 0) {
console.log(key);
}
} //6`enter code here`
答:
0赞
flyingfox
10/17/2022
#1
由于您正在使用它,它将返回元素值,因此您需要使用 而不是of
number >= 0
values[number] >= 0
或者你可以用它来做,在这种情况下,你需要使用而不是in
values[number] >= 0
number >= 0
let values = [-1, 5, -6, 6, -10, -5, 3, 4, -1, 8, 1, -10, 3];
for (const number of values) {
if (number >= 0) {
console.log(number); break;
}
} //5
for (const number in values) {
if (values[number] >= 0) {
console.log(values[number]); break;
}
} //5
console.log("----------------------------")
for (const key in values) {
if (values[key] >= 0) {
console.log(key);
}
} //6`enter code here`
0赞
Syed Arsalan Hussain
10/17/2022
#2
您可以使用带有索引的 for 循环对其进行迭代
let values = [-1, 5, -6, 6, -10, -5, 3, 4, -1, 8, 1, -10, 3];
for (var i = 0; i<values.length; i++) {
if (values[i] >= 0) {
console.log(values[i]); break;
}
} //6
0赞
Rohìt Jíndal
10/18/2022
#3
条件应为 而不是number >= 0
values[number] >= 0
演示 :
let values = [-1, 5, -6, 6, -10, -5, 3, 4, -1, 8, 1, -10, 3];
for (const number of values) {
if (number >= 0) {
console.log(number);
break;
}
}
0赞
MenTalist
2/23/2023
#4
你可以试试这个简单的for循环来找到第一个正数
let values = [-1, 5, -6, 6, -10, -5, 3, 4, -1, 8, 1, -10, 3];
for(var i=0;i<values.length;i++){
if(values[i]>=0){
console.log(values[i])
return
}
}
评论
number>0
values[number]>0
console.log(values.find(n => n > 0))