我正在编写一个名为" countWords"。
的函数给出一个字符串," countWords"返回一个对象,其中每个键是给定字符串中的一个单词,其值是该单词在给定字符串中出现的次数。
注意:
*如果给出一个空字符串,它应该返回一个空对象。
function countWords(str) {
var obj = {};
var split = str.split(" ");
return split;
}
var output = countWords('ask a bunch get a bunch');
console.log(output); // --> MUST RETURN {ask: 1, a: 2, bunch: 2, get: 1}
有什么想法吗?
答案 0 :(得分:1)
我不会给你完成代码(这不是作业的意义),但我试图让你自己解决问题。
到目前为止,你已经有了一系列文字。
接下来让我们声明一个我们稍后可以分配属性的对象。
然后我们将迭代我们的数组,如果数组元素在我们的对象中不存在作为键( if(!obj [array [i]]))那么就创建一个新的property,具有元素名称和值1.( obj [array [i] = 1; )
如果元素是该对象的键,则让我们增加它的值。 ( obj [array [i]] ++; )
然后返回对象。
答案 1 :(得分:0)
所以你可以像这样使用javascript地图:
var myMap = new Map();
myMap.set(keyString, count);
并访问键的值,如下所示:
myMap.get(keyString);
有关详细信息,请参阅此处https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Map