一行 indexOf 方法中组合的变量 (Eloquent Javascript)
Variables combined in one line of indexOf method (Eloquent Javascript)
中的以下函数感到困惑
function hasEvent(event, entry) {
return entry.events.indexOf(event) != -1;
}
entry.events.indexOf(event)
是什么意思?
entry
是一个带有 events
属性 的对象(可能是一个数组)。 events
有方法 indexOf
。然后检查 event
在 events
中的索引,并与 -1.
进行比较
这不是组合变量,只是访问对象属性。
event
和entry
是变量,events
是entry
变量引用的对象的属性。
Javascript 中的数组和字符串提供了一种 indexOf
方法,该方法搜索引用的数组或字符串以获取值和 returns 其索引。
例如:
"one two three".indexOf("two"); // 4
和
[21, 15, 99].indexOf(99); // 2
indexOf()
是数组的标准方法。引用 Mozilla:
The indexOf()
method returns the first index at which a given element can be found in the array, or -1 if it is not present.
因此 hasEvent()
函数只是检查 event
的值是否存在于 entry.events
数组中。
N.B。 indexOf()
也是 JavaScript 字符串对象的标准方法。再次引用 Mozilla:
The indexOf()
method returns the index within the calling String object of the first occurrence of the specified value, starting the search at fromIndex [an optional second parameter]. Returns -1 if the value is not found.
如果 typeof entry.events === 'string'
returns 为真,则 hasEvent()
函数将检查 event
的值是否存在于 entry.events
字符串中的任何位置。
function hasEvent(event, entry) {
return entry.events.indexOf(event) != -1;
}
entry.events.indexOf(event)
是什么意思?
entry
是一个带有 events
属性 的对象(可能是一个数组)。 events
有方法 indexOf
。然后检查 event
在 events
中的索引,并与 -1.
这不是组合变量,只是访问对象属性。
event
和entry
是变量,events
是entry
变量引用的对象的属性。
Javascript 中的数组和字符串提供了一种 indexOf
方法,该方法搜索引用的数组或字符串以获取值和 returns 其索引。
例如:
"one two three".indexOf("two"); // 4
和
[21, 15, 99].indexOf(99); // 2
indexOf()
是数组的标准方法。引用 Mozilla:
The
indexOf()
method returns the first index at which a given element can be found in the array, or -1 if it is not present.
因此 hasEvent()
函数只是检查 event
的值是否存在于 entry.events
数组中。
N.B。 indexOf()
也是 JavaScript 字符串对象的标准方法。再次引用 Mozilla:
The
indexOf()
method returns the index within the calling String object of the first occurrence of the specified value, starting the search at fromIndex [an optional second parameter]. Returns -1 if the value is not found.
如果 typeof entry.events === 'string'
returns 为真,则 hasEvent()
函数将检查 event
的值是否存在于 entry.events
字符串中的任何位置。