我知道什么是“代号”...在循环中(它迭代键),但我听说过for...
(它迭代值)。
我对感到困惑...的
循环。
var arr = [3, 5, 7];
arr.foo = "hello";
for (var i in arr) {
console.log(i); // logs "0", "1", "2", "foo"
}
for (var i of arr) {
console.log(i); // logs "3", "5", "7"
// it doesn't log "3", "5", "7", "hello"
}
我知道是...of
迭代属性值。那么为什么它不记录“3”、“5”、“7”、“hello”
而不记录“3”、“5”、“7”
?
与用于...的不同...在
循环中,该循环迭代每个键(“0”、“1”、“2”、“foo”
)并迭代foo
键,的...of
不迭代foo
属性的值,即“hello”
。为什么会这样?
在这里,我控制台的...的
循环。它应该记录“3”、“5”、“7”、“hello”
,但它记录“3”、“5”、“7”
。为什么?
示例链接
我在迭代器和生成器中找到了完整的答案(虽然是针对TypeScript,但对于JavaScript也是一样的)
for..of
和for..in
语句都迭代列表;不过,迭代的值是不同的,for..in
返回被迭代对象的键列表,而for..of
返回被迭代对象的数值属性的值列表。
这里有一个例子说明了这种区别:
let list = [4, 5, 6];
for (let i in list) {
console.log(i); // "0", "1", "2",
}
for (let i of list) {
console.log(i); // "4", "5", "6"
}
另一个区别是,for..in
对任何对象进行操作;它用作检查该对象的属性的一种方法。而for..of
则主要对可迭代对象的值感兴趣。像map
和set
这样的内置对象实现了允许访问存储值的symbol.iterator
属性。
let pets = new Set(["Cat", "Dog", "Hamster"]);
pets["species"] = "mammals";
for (let pet in pets) {
console.log(pet); // "species"
}
for (let pet of pets) {
console.log(pet); // "Cat", "Dog", "Hamster"
}
与...的循环中,该循环迭代每个键()并迭代键,用于...的值不迭代属性的值,即。为什么是那样? 在这里,我为...控制台循环的。它应该记录但它记录。为什么? 示例链接
问题内容: 我知道什么是循环(对键进行迭代),但是第一次听说(对值进行迭代)。 我对循环感到困惑。我没有形容词。这是下面的代码: 我得到的是,遍历属性值。那么,为什么它不记录(返回)而不是?但是循环遍历每个键()。在这里,循环还会遍历键。但是不会迭代财产的价值,即。为什么会这样呢? 总而言之: 在这里,我控制台循环。它应该记录,但是在这里记录。为什么呢 问题答案: 遍历对象的可枚举属性名称。 (E
本文向大家介绍for in 和 for of 的区别?相关面试题,主要包含被问及for in 和 for of 的区别?时的应答技巧和注意事项,需要的朋友参考一下 for of 用于遍历于数组和可迭代对象得到的是entity({key: value}), for in 用于遍历对象的得到的是对象的属性名 for in 不可用来遍历一个数组, for in 将会把数组中的 length 等不需要的属
问题内容: 和JPQL运算符有什么区别? 问题答案: IN测试是您提供给查询(或通过子查询获取)的值中的单值路径表达式(实体的持久属性)的值。 MEMBER OF测试是您提供的值,用于查询(或使用表达式定义)实体中某些集合中的值成员。 让我们使用以下示例实体: 以及以下测试数据: 通过以下查询,我们得到a1作为结果,因为它的someValue是(0,1,3)之一。在查询中使用文字(在 SELECT
问题内容: 我认为标题总结了这一点。我只是想知道为什么对于从Svn进行Java项目的持续集成构建而言,一个或另一个更好。 问题答案: 作为CruiseControl的长期提交者 以及 从未使用过Hudson的人,我颇有偏见,但我的看法是: Hudson的安装和运行起来非常容易(很大程度上是通过一个不错的Web界面),并且拥有一个非常活跃的插件开发社区。 CruiseControl获得了很多第三方的
当扩展在其他板条箱中定义的特性时,似乎有两种默认实现新特性的方法。 性状的原始定义是 为了扩展该特征的功能,我们定义了一个特征, 现在,由于我们希望该功能在默认情况下可用,我们可以实现以下功能 我所观察到的是,当与trait对象混合时,这两种实现都是必需的。 我理解