【发布时间】:2019-01-06 13:55:40
【问题描述】:
function getLetterData(letter) {
letterData[letter] = {
count: undefined ? 1 : letterData[letter]['count']++,
overlap: overlapValue(letter)
};
}
function overlapValue(letter) {
console.log(letter);
return overlapLetters.includes(letter);
}
大家好,我正在尝试运行一个简单的应用程序来跟踪用户给定字符串中字母的外观。我正在尝试在一个对象中组织数据,该对象记录当前字符串中字符的计数,以及之前的字符串中是否出现了任何字符。正如您在上面看到的,为了获得计数,我正在检查一个值是否存在。如果不是,则应返回 1。如果 count 上存在一个值,则递增。我的问题是我无法从 letterData[letter]['count'];这会导致 TypeError: letterData[letter] is undefined;无法访问其“count”属性。
我被引导相信我的 letter 变量没有在这一行上使用,而是程序试图读取 letterData[letter]['count'],就好像 'letter' 是一个文字字符串。是否必须做其他事情才能访问嵌套对象中带有变量的键?我没有任何问题让overlapValue() 正确评估使用变量。
【问题讨论】:
-
欢迎。
undefined ? 1 : letterData[letter]['count']++中的三元运算符有什么意义?它永远不会评估为 1。此外,letterData和overlapLetters定义在哪里?发布一个完整的样本会更好。
标签: javascript object variables key