【发布时间】:2017-04-17 15:15:13
【问题描述】:
我声明了一个函数,当给定一个字符串作为参数时,它返回一个对象,其中键是字符串中的单词。值是该单词在字符串中出现的次数。
当我运行以下代码时,我得到 {}。
function countWords(string) {
var result = {};
var words = string.split(' ');
for (var i = 0; i < words.length; i++) {
var currentElement = words[i];
var prop = result[currentElement];
if(prop) {
prop += 1;
} else {
prop = 1;
}
}
return result;
}
console.log(countWords('hello hello')); // => {'hello': 2}
但是,将 prop = 1 替换为 result[CurrentElement] = 1 会返回预期的答案。
为什么在这种情况下使用 prop = 1 是错误的?
【问题讨论】:
-
prop只是一个变量。如果将其分配给某个属性,则写为prop = 1,您只需将prop重新定义为1。您实际上并没有接触到财产本身。
标签: javascript