数组中判断对象出现的次数

本文详细解析了一个JavaScript函数arrCheck,该函数遍历输入数组,统计每个元素出现的次数并移除重复项。通过创建新的数组newArr存储结果,实现了对原始数组中元素及其计数的记录。示例展示了如何处理包含重复元素的数组[1,2,3,3,4],输出结果为['1:1', '2:1', '3:2', '4:1']。
摘要由CSDN通过智能技术生成
function arrCheck(arr){
  var newArr = [];
  for(var i=0;i<arr.length;i++){
    var temp=arr[i];
    var count=0;
    for(var j=0;j<arr.length;j++){
      if(arr[j]==temp){
        count++;
        arr[j]=-1;
      }
    }
    if(temp != -1){
      newArr.push(temp+":"+count)
    }
  }
  return newArr;
}

arrCheck([1,2,3,3,4]); 

console.log(arrCheck([1,2,3,3,4]));

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 假设数组为words,可以先创建一个空的Map对象,然后遍历数组中的每个单词,如果该单词已经在Map中存在,则将其对应的值加1,否则将该单词作为键值对应的值设为1。代码如下: ``` Map<String, Integer> wordCountMap = new HashMap<>(); for (String word : words) { if (wordCountMap.containsKey(word)) { wordCountMap.put(word, wordCountMap.get(word) + 1); } else { wordCountMap.put(word, 1); } } ``` 上述代码中,使用了一个if-else语句来判断单词是否在Map中存在,如果存在,则取出其对应的值并加1,否则将其加入Map中,并将值设为1。最终得到的wordCountMap就是统计出的单词出现次数的Map。 ### 回答2: 要统计数组中单词出现次数并使用Map进行存储,我们可以按照以下步骤进行操作: 1. 创建一个Map对象,用于存储单词及其出现次数。 2. 遍历数组中的每个元素,将其作为单词进行处理。 3. 判断当前单词是否已经存在于Map中: - 如果单词已经存在于Map中,则获取该单词的出现次数,将其加1,并更新Map中的对应键值对。 - 如果单词不存在于Map中,则将该单词作为新的键添加到Map中,并将对应值设置为1,表示该单词出现了1。 4. 继续遍历数组中的下一个单词,重复步骤3。 5. 完成遍历后,Map中的键值对即为数组中每个单词及其出现次数。 下面是一个示例代码实现: ``` public class WordCount { public static void main(String[] args) { String[] words = {"apple", "banana", "apple", "orange", "banana", "pear", "orange", "apple"}; // 创建一个Map对象,用于存储单词及其出现次数 Map<String, Integer> wordCountMap = new HashMap<>(); // 遍历数组中的每个单词 for (String word : words) { // 判断单词是否已经存在于Map中 if (wordCountMap.containsKey(word)) { // 如果单词已经存在于Map中,则获取该单词的出现次数,并加1 int count = wordCountMap.get(word); wordCountMap.put(word, count + 1); } else { // 如果单词不存在于Map中,则添加新的键值对,表示该单词出现了1 wordCountMap.put(word, 1); } } // 遍历Map中的键值对,输出每个单词及其出现次数 for (String word : wordCountMap.keySet()) { int count = wordCountMap.get(word); System.out.println(word + ": " + count); } } } ``` 输出结果为: ``` apple: 3 banana: 2 orange: 2 pear: 1 ``` 以上代码通过遍历数组中的每个单词,使用Map统计了数组中每个单词出现次数,并将结果存储在Map中。最后,我们遍历Map中的键值对,输出每个单词及其出现次数。 ### 回答3: 要统计数组中单词出现次数并存储在Map中,可以按照以下步骤进行操作。 首先,创建一个空的Map对象来存储单词及其出现次数。 然后,遍历数组中的每个单词。对于每个单词,首先检查Map中是否已经包含了该单词作为键。 如果Map中已经存在该单词,那么取出它对应的值并加1。 如果Map中不存在该单词,那么将该单词作为键添加到Map中,并将它的值设为1。 最后,遍历完整个数组后,Map中就会以键值对的形式存储每个单词及其出现次数。 下面是一个示例代码: ```java import java.util.Arrays; import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { String[] words = {"apple", "banana", "apple", "orange", "banana", "pear", "apple"}; Map<String, Integer> wordCountMap = new HashMap<>(); for (String word : words) { if (wordCountMap.containsKey(word)) { int count = wordCountMap.get(word); wordCountMap.put(word, count + 1); } else { wordCountMap.put(word, 1); } } for (Map.Entry<String, Integer> entry : wordCountMap.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue()); } } } ``` 以上代码中,我们首先创建了一个String类型的数组`words`,其中存储了一些单词。 然后,我们创建了一个`wordCountMap`对象,用于存储单词及其出现次数。之后,我们遍历了整个数组,并对每个单词进行处理。 在遍历过程中,我们使用了`containsKey`方法来检查Map是否已经存在该单词作为键。如果存在,则获取该键对应的值并加1,如果不存在,则将该单词作为键添加到Map中,并将其值设为1。 最后,我们使用了`entrySet`方法来获取Map中的所有键值对,并遍历输出每个单词及其出现次数。 输出结果将会是: ``` apple: 3 banana: 2 orange: 1 pear: 1 ``` 这样,我们就成功地统计了数组中单词的出现次数,并将结果存储在了Map中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值