indexOf 函数的语法是如何工作的?
How the syntax of the indexOf function works?
因此索引函数将 returns 可以在数组中找到值的索引,或者 -1 如果数组中不存在值,另外,它 returns 第一个索引当有多个匹配时,可以找到目标。
BUT 为什么设置 item === target && result === -1
,这部分没有意义?如果给定值在数组中为真且当 result === -1
时?我们设置 result = index
?这部分的目的是什么......?
顺便说一句,我们为数组中找不到的目标设置var result = -1
对吗?
_.indexOf = function(array, target){
var result = -1;
_.each(array, function(item, index) {
if (item === target && result === -1) {
result = index;
}
});
return result;
};
如果它没有测试 result
是否是 -1
那么它将 return 最后一个 匹配的索引第一场比赛。
好吧,只有当两个条件为真时,您才想将 result
变量设置为当前 index
:
- 现在的
item
是关注的target
,
result
仍然有初始值-1
,即目标尚未找到
这样,result
将包含循环后 第一个 匹配项的索引。
顺便说一句,这应该是在没有 result
变量和 _.each
循环的情况下编码的,有一个正常的 for
循环和一个早期的 return 它既更快又更容易理解:
_.indexOf = function(array, target) {
for (var i=0; i<array.length; i++) {
var item = array[i];
if (item === target) {
return index;
}
}
return -1;
};
如果删除 result === -1
部分,您将具有不同的功能 returns 最后一个等于目标的元素的索引。
因此索引函数将 returns 可以在数组中找到值的索引,或者 -1 如果数组中不存在值,另外,它 returns 第一个索引当有多个匹配时,可以找到目标。
BUT 为什么设置 item === target && result === -1
,这部分没有意义?如果给定值在数组中为真且当 result === -1
时?我们设置 result = index
?这部分的目的是什么......?
顺便说一句,我们为数组中找不到的目标设置var result = -1
对吗?
_.indexOf = function(array, target){
var result = -1;
_.each(array, function(item, index) {
if (item === target && result === -1) {
result = index;
}
});
return result;
};
如果它没有测试 result
是否是 -1
那么它将 return 最后一个 匹配的索引第一场比赛。
好吧,只有当两个条件为真时,您才想将 result
变量设置为当前 index
:
- 现在的
item
是关注的target
, result
仍然有初始值-1
,即目标尚未找到
这样,result
将包含循环后 第一个 匹配项的索引。
顺便说一句,这应该是在没有 result
变量和 _.each
循环的情况下编码的,有一个正常的 for
循环和一个早期的 return 它既更快又更容易理解:
_.indexOf = function(array, target) {
for (var i=0; i<array.length; i++) {
var item = array[i];
if (item === target) {
return index;
}
}
return -1;
};
如果删除 result === -1
部分,您将具有不同的功能 returns 最后一个等于目标的元素的索引。