嗨,我有一个数组,看起来像:
hrarray = [-9,-7,0,3,7,8]
我一直在尝试找出一个函数,该函数选择数组中的第一个非负数(inc。0)并返回索引(var elemid):
for (var i = 0, len=hrArray.length; i<len; i++) {
var num = hrArray[i];
if(num > 0) {
var elemid = i; //returns first non-negative element index
}
else if(num < 0) {}
我的代码逻辑正确吗?
我没看到你退货。
您可以使用单行获得第一个非负数:
for (var i = 0, len = arr.length; i < len && arr[i] < 0; i++);
基本上,我们将否定检查放在for循环保护中。一旦找到非负数,它将中断,因此返回i
第一个非负数。
更新#1(在函数中使用):
function getFirstNonNegative(arr) {
for (var i = 0, len = arr.length; i < len && arr[i] < 0; i++);
// Use a ternary operator
return (i === len) ? -1 : i; // If i === len then the entire array is negative
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句