使用javascript计算短语中每个单词的出现次数

编程入门 行业动态 更新时间:2024-10-17 17:19:29
本文介绍了使用javascript计算短语中每个单词的出现次数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

例如对于输入olly olly in come free"

程序应该返回:

olly: 2在:1来:1免费:1

测试写成:

var words = require('./word-count'); describe("words()", function() { it("counts one word", function() { var expectedCounts = { word: 1 }; expect(words("word")).toEqual(expectedCounts); }); //more tests here });

  • 如何从我的 word-count.js 文件开始?创建一个方法 words() 或一个模块 Words() 并在其中创建一个 expectedCount 方法并导出它?

  • How do I start in my word-count.js file? Create a method words() or a module Words() and make an expectedCount method in there and export it?

    我将字符串视为数组还是对象?在对象的情况下,我如何开始将它们分解成单词并迭代计数?

    Do I treat the string as an array or an object? In the case of objects, how do I start breaking them into words and iterate for the count?

    推荐答案

    function count(str) { var obj = {}; str.split(" ").forEach(function(el, i, arr) { obj[el] = obj[el] ? ++obj[el] : 1; }); return obj; } console.log(count("olly olly in come free"));

    这段代码应该能得到你想要的.为了更好地理解代码,我建议您通过数组原型函数和字符串原型函数.为了简单了解我在这里做什么:

    This code should get just what you want. For more understanding on the code I would advice you to go through array prototype functions and string prototype functions. For simple understanding of what I`m doing here:

  • 创建一个计数函数,该函数返回一个计数所有单词出现次数的对象.
  • 使用 split(" ") 根据提供数组的空格分割字符串.
  • 使用 forEach 方法遍历 spitted 数组中的所有元素.
  • 三元运算符 :? 检查值是否已经存在,是否加一或赋值为 1.
  • Create a count function which returns an object of count of all occurrences of words.
  • Split the string using split(" ") based on a space which gives an array.
  • Use forEach method to iterate through all the elements in the spitted array.
  • Ternary operator :? to check if value already exists, if it does increment by one or assign it to 1.
  • Array.prototypeString.prototype

    更多推荐

    使用javascript计算短语中每个单词的出现次数

    本文发布于:2023-11-30 17:32:34,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1650907.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:短语   单词   次数   javascript

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!