Javascript 如何使用Map对象查找数组的元素计数

Javascript 如何使用Map对象查找数组的元素计数,javascript,javascript-objects,Javascript,Javascript Objects,我有一段文字,希望找到每个文字的计数,特别是使用JavaScript的Map对象 我知道这可以通过.get()和.set()方法实现,但我不知道如何实现 下面是我的代码 let paragraph = `Lorem ipsum donec nisi taciti et elit congue turpis, lobortis massa suscipit massa est a praesent metus egestas, conubia turpis

我有一段文字,希望找到每个文字的计数,特别是使用JavaScript的
Map
对象

我知道这可以通过
.get()
.set()
方法实现,但我不知道如何实现

下面是我的代码

let paragraph = `Lorem ipsum donec nisi taciti et elit congue turpis, lobortis 
                 massa suscipit massa est a praesent metus egestas, conubia turpis 
                 in cursus libero pharetra praesent.
                 Per bibendum taciti sit taciti facilisis a bibendum nisl massa non 
                 aliquam sem auctor ipsum eros, massa sed cubilia porta primis 
                 felis elementum non fringilla conubia neque aenean urna.`

// Split the paragraph into an array of individual words.

let words = paragraph.match(/\w+/gi);

let map = new Map();

for (let i = 0; i < words.length; i++) {
  let word = words[i];
  map.set(word, 0);
  // Logic - if (map contains word) {
    map.set(word, count += 1);
  } else {
    map.set(word, 1);
  }
}

console.log(map);
let paration=`Lorem ipsum donec nisi taciti et elit congue turpis,lobortis
这是一个非常好的地方,有一个叫科努比亚·图皮斯(conubia turpis)的地方
在《自由之路》中,法雷特拉·普拉森。
每一个bibendum taciti坐taciti设施是一个bibendum nisl马萨非
等分扫描电镜下的同侧额叶拍卖器,按摩肘正门
非流苏元素猫科动物`
//将段落拆分为单个单词的数组。
让单词=段落匹配(/\w+/gi);
设map=newmap();
for(设i=0;i
与地图一起使用

对于每次迭代,在地图中设置单词

a.get(“Lorem”)
将返回一个数字或未定义的数字。如果未定义,
|
将处理它。然后加1

还返回映射对象

const paration=`Lorem ipsum donec nisi taciti et elite congue turpis,lobortis massa suscipit masa est a present metus egestas,conubia turpis in cursus libero pharetra present。
每一个脚掌,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着`
常量单词=段落匹配(/\w+/gi);
const res=words.reduce((a,c)=>{
返回a.set(c,(a.get(c)| | 0)+1;
},新地图());

console.log([…res])使用
Map
datastructure,您可以编写代码:

const paragraph = "Lorem ipsum donec nisi taciti et elit congue turpis, lobortis massa suscipit massa est a praesent metus egestas, conubia turpis in cursus libero pharetra praesent. Per bibendum taciti sit taciti facilisis a bibendum nisl massa non aliquam sem auctor ipsum eros, massa sed cubilia porta primis felis elementum non fringilla conubia neque aenean urna."

// Split the paragraph into an array of individual words.

let words = paragraph.match(/\w+/gi);

let map = new Map();

for (let i = 0; i < words.length; i++) {
    let word = words[i];
    // Here you check if map already got the word.
    if (map.has(word)) {
        map.set(word, map.get(word) + 1)
    } else {
        map.set(word, 0);
    }
}

console.log(map);
const段落=“Lorem ipsum donec nisi taciti et elite congue turpis,lobortis masa suscipit masa est a present metus egestas,conubia turpis in cursus libero pharetra present。每一个脚板,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着
//将段落拆分为单个单词的数组。
让单词=段落匹配(/\w+/gi);
设map=newmap();
for(设i=0;i
检查地图是否有钥匙,如果有,获取钥匙并添加1,否则只需添加钥匙即可

let paration=`Lorem ipsum donec nisi taciti et elite congue turpis,lobortis massa suscipit masa est a present metus egestas,conubia turpis in cursus libero pharetra present。
每一个脚掌,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着`
//将段落拆分为单个单词的数组。
让单词=段落匹配(/\w+/gi);
设map=newmap();
for(设i=0;iconsole.log(map);
检查map是否已经有键,然后将
1
添加到special,如果没有,则向map中添加一个新的键值

let paration=`Lorem ipsum donec nisi taciti et elite congue turpis,lobortis massa suscipit masa est a present metus egestas,conubia turpis in cursus libero pharetra present。
每一个脚掌,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着,坐着`
让单词=段落匹配(/\w+/gi);
设map=newmap();
for(设i=0;iconsole.log(…map);
在map中设置值

paragraph.split(" ").forEach((word) => {
    yourMap.set(word, word.length);
});
Array.from(myMap.keys()).forEach((key, value) => {
    console.log(`Count of word ${key} is: ${value}`);
});
从地图中提取值

paragraph.split(" ").forEach((word) => {
    yourMap.set(word, word.length);
});
Array.from(myMap.keys()).forEach((key, value) => {
    console.log(`Count of word ${key} is: ${value}`);
});

那么你想知道每个单词有多少个字符吗?@jburtondev不太清楚。我正在对我看到的段落中的每个单词进行计数。谢谢。我已经更新了我的答案。索引与单词计数有什么关系?我想这个问题与“元素计数”有关“。也许我错了。我已与提问者澄清,并相应更新了我的答案。非常感谢!