【问题标题】:How to find the LENGTH of key NAMES in a javascript object instead of length of content如何在 javascript 对象中查找键名的长度而不是内容的长度
【发布时间】:2018-05-12 18:49:55
【问题描述】:

在 javascript 对象中,如何找到键名的长度?

Johnny:  7
William: 235
Betty:   16

我知道object.Betty.length 应该返回一个2, 但我正在寻找如何查看键名 Betty 的 length = 5。

我知道整个对象的长度是 3。我现在这是一个不同的问题,而不是我要找的问题。

我将使用 for (var y in object) 行来循环遍历它, 和 if-logic 仅显示具有(例如)7 个字母名称的人。

转换对象或临时创建一个数组来代替会更容易吗?

【问题讨论】:

  • y.length 是密钥的长度
  • console.log(People['Betty'.length] 返回'未定义'
  • 'Betty'.length 只是5,所以这与console.log( People[ 5 ] ); 相同,我猜是undefined。为什么你认为它不是undefined
  • console.log(People['Betty'] 返回 16 - 试图找出键名长度为“5”的方法
  • 'console.log( Betty'.length );,或者,如果 'Betty' 在名为 y 的变量中:console.log( y.length );

标签: javascript arrays javascript-objects


【解决方案1】:

您可以迭代对象的键并获取长度。

var object = { Johnny: 7, William: 235, Betty: 16 },
    key;
    
for (key in object) {
    console.log(key, key.length);
}

【讨论】:

    【解决方案2】:

    在 javascript 中,您可以使用 Object.keys(obj).forEach() 遍历键并使用 length 获取字符串的长度

    var obj = { Johnny: 7, William: 235, Betty: 16 }
    
    Object.keys(obj).forEach((key) => {
       console.log(key, key.length)
    })

    【讨论】:

      【解决方案3】:

      希望这堆代码对你有帮助:)

      var data = {
        Johnny: 7,
        William: 235,
        Betty: 16
      }
      
      let getDicKeys = Object.keys(data);
      getDicKeys.forEach(function(item, index) {
        console.log(item.length);
      });

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多