javascript JSON 和 Array 元素,帮助我理解有关引号的规则

标签 javascript arrays quotes

当使用返回值来确定数组中元素的数量时,JavaScript 是否会在其周围添加引号?

示例:

这会统计使用唯一字符的次数。

var uniques = {};

function charFreq(s)
{ 
    for(var i = 0; i < s.length; i++)
    {
       if(isNaN(uniques[s.charAt(i)])) uniques[s.charAt(i)] = 1;
       else uniques[s.charAt(i)] = uniques[s.charAt(i)] + 1;
    }

    return uniques;    
}

console.log(charFreq("ahasdsadhaeytyeyeyehahahdahsdhadhahhhhhhhhhha"));

这似乎很有趣,uniques[s.charAt(i)] 有效,而 uniques[a] 不起作用(由于缺少引号)。 uniques[a] 会给你一个令人讨厌的“a 未定义”。

最佳答案

当您使用[]表示法访问JavaScript对象时,您正在使用字符串作为对象中的键。您还可以使用 . 表示法来寻址属性:

uniques.auniques['a']

相同

您没有向 s.charAt(i) 添加引号的原因是它返回一个字符串,然后将其用作要检查的属性uniques 对象。

uniques[a] 将产生错误,因为尚未定义名为 a变量

关于javascript JSON 和 Array 元素,帮助我理解有关引号的规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3232586/

相关文章:

javascript - 动态为 jqTree 中的节点分配 HTML/CSS Id

javascript - 无法从 `directive` 范围获取值

javascript - 我有一个在线工具可以将 HTML 转换为字符串吗?

java - 如何交换数组中最大的数字和最后一个数字?

javascript - 如何在 JavaScript 中访问嵌套数组中的属性?

mysql - MySQL 中何时使用单引号、双引号和反引号

php - 将 postgresql the_geom 函数添加到 php 插入

mysql - MySQL 中何时使用单引号、双引号和反引号

javascript - 针对不同数据范围自动调整 jqplot 条形图的大小

c# - 如何在 C# 中将数组作为查询字符串的参数发送?