【问题标题】:Python dictionary to Javascript objectPython 字典到 Javascript 对象
【发布时间】:2018-01-04 15:38:46
【问题描述】:

我想知道一个字符在字符串中出现了多少次。

Python 代码有效

def func(a):
d={}
for ch in a:
    if ch in d:
        d[ch] += 1
    else:
        d[ch] = 1
print d

和javascript

function how_many_times(string) {
  object = {};
  for (var i in string) {
    if (i in object) {
      object[i] += 1
    } else {
      object[i] = 1
    }
  }
  
  console.log(object)
}

how_many_times('Hello, World !')

当我尝试将其传递给 javascript 时,我没有得到相同的结果。我之所以这样尝试,是因为我阅读了 python 字典和 javascript 对象非常相似。我知道我可以通过其他方式解决问题,但我想了解为什么它在对象中不起作用

【问题讨论】:

    标签: javascript python object dictionary


    【解决方案1】:

    您可以使用of 代替in 进行迭代。

    for ... in 语句迭代对象的键。最终结果是一个具有所有索引和一个计数的对象,而不是获取字符和它的计数。

    没有in 的可能解决方法是使用索引作为所需值的访问器,例如string[i]

    function how_many_times(string) {
        var object = {},
            i;
    
        for (i of string) {
            if (i in object) {
                object[i] += 1;
            } else {
                object[i] = 1;
            }
        }
        console.log(object)
    }
    
    how_many_times('Hello, World !')

    【讨论】:

      猜你喜欢
      • 2016-01-31
      • 1970-01-01
      • 2018-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多