在计算对象中的字母数时,为什么需要在增加对象之前测试该属性是否存在?

非典型鳗鱼

我看到了一个 youtube 视频,展示了如何使用 Javascript 计算每个字母的出现次数,例如,当输入为 时"hello",函数将返回

{h:1 e:1 l:2 o:1}

像这样:

const obj = {};
for (let i = 0; i < wordInput.length; i++) {
  const char = wordInput[i];
  if (!obj[char]) {
    obj[char] = 0;
  }
  obj[char]++;
}

为什么我们需要 if 语句?他说了诸如“其中一些未定义”之类的话,但我不确定这意味着什么,您能解释一下为什么我们需要if (!obj[char])吗?

米扎克

在循环的第一次运行中

i = 0 
-----------
char = 'h'
obj = {}
obj[char] ==> obj['h'] ==> undefined 

所以如果你尝试这样做obj[char]++ ==> obj['h']++,它会抛出错误,因为它的值是undefined而是首先使用该if语句将其初始化为 0 ,然后将其递增。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用该对象中的方法增加对象的属性javascript

来自分类Dev

为什么有时需要在将对象作为参数传递之前创建变量

来自分类Dev

为什么要在对象的函数属性中声明变量之前先引用它?

来自分类Dev

反应:查找数组中是否存在重复值,然后仅增加对象的特定键值

来自分类Dev

在添加对象之前,如何检查具有相同ID的对象是否已存在于对象列表中?

来自分类Dev

为什么要在lambda中捕获该对象以及该对象的共享指针?

来自分类Dev

为什么只读对象需要对象中的可选属性?

来自分类Dev

为什么要在构造函数中声明对象属性

来自分类Java

为什么需要在Java中向HTTP请求返回Response对象而不是String对象?

来自分类Dev

是否需要在R中的for循环之前初始化对象

来自分类Dev

是否总是需要在 Keras 之前安装 TensorFlow?为什么?

来自分类Dev

如果对象存在于数组(JS)中,则增加对象数量

来自分类Dev

在 Python 中,如何查看从 MongoDB 返回的对象的属性是否存在于该对象上?

来自分类Dev

为什么要在条带化充电之前创建客户对象?

来自分类Dev

为什么对象解构中的类型不存在属性?

来自分类Dev

为什么需要在对象中的函数中的if语句中的“ this”内部而不是外部?的JavaScript

来自分类Dev

为什么我需要在Kotlin中在=之前添加空间?

来自分类Dev

努力了解模型中存在关联时为什么需要在Rails中进行联接/包含

来自分类Dev

为什么虚拟继承2类会增加对象大小?

来自分类Dev

为什么增加一个附加对象不会损害以下功能的性能?

来自分类Dev

为什么即使基数为空,多重继承也会增加对象的大小?

来自分类Dev

为什么我需要在我的打字稿对象中访问 `default`?

来自分类Dev

为什么我们需要在堆中创建一个对象?

来自分类Dev

测试TCL中是否存在矩阵对象

来自分类Java

在documentSnapShot中获取值,但是将其转换为对象时,该对象返回null,为什么?

来自分类Dev

我需要在PHP对象中声明每个属性吗?

来自分类Dev

是否需要在 Outlook 对象模型中释放 MAPIOBJECT?

来自分类Dev

如何使用javascript增加对象属性的值?

来自分类Dev

C ++是否会动态增加对象数组的数组大小?

Related 相关文章

  1. 1

    如何使用该对象中的方法增加对象的属性javascript

  2. 2

    为什么有时需要在将对象作为参数传递之前创建变量

  3. 3

    为什么要在对象的函数属性中声明变量之前先引用它?

  4. 4

    反应:查找数组中是否存在重复值,然后仅增加对象的特定键值

  5. 5

    在添加对象之前,如何检查具有相同ID的对象是否已存在于对象列表中?

  6. 6

    为什么要在lambda中捕获该对象以及该对象的共享指针?

  7. 7

    为什么只读对象需要对象中的可选属性?

  8. 8

    为什么要在构造函数中声明对象属性

  9. 9

    为什么需要在Java中向HTTP请求返回Response对象而不是String对象?

  10. 10

    是否需要在R中的for循环之前初始化对象

  11. 11

    是否总是需要在 Keras 之前安装 TensorFlow?为什么?

  12. 12

    如果对象存在于数组(JS)中,则增加对象数量

  13. 13

    在 Python 中,如何查看从 MongoDB 返回的对象的属性是否存在于该对象上?

  14. 14

    为什么要在条带化充电之前创建客户对象?

  15. 15

    为什么对象解构中的类型不存在属性?

  16. 16

    为什么需要在对象中的函数中的if语句中的“ this”内部而不是外部?的JavaScript

  17. 17

    为什么我需要在Kotlin中在=之前添加空间?

  18. 18

    努力了解模型中存在关联时为什么需要在Rails中进行联接/包含

  19. 19

    为什么虚拟继承2类会增加对象大小?

  20. 20

    为什么增加一个附加对象不会损害以下功能的性能?

  21. 21

    为什么即使基数为空,多重继承也会增加对象的大小?

  22. 22

    为什么我需要在我的打字稿对象中访问 `default`?

  23. 23

    为什么我们需要在堆中创建一个对象?

  24. 24

    测试TCL中是否存在矩阵对象

  25. 25

    在documentSnapShot中获取值,但是将其转换为对象时,该对象返回null,为什么?

  26. 26

    我需要在PHP对象中声明每个属性吗?

  27. 27

    是否需要在 Outlook 对象模型中释放 MAPIOBJECT?

  28. 28

    如何使用javascript增加对象属性的值?

  29. 29

    C ++是否会动态增加对象数组的数组大小?

热门标签

归档