jsは要素の出現回数を判断します

3つの重要なポイントがあります:

1.ネストされたforループを介して、配列の各項目を配列全体のすべての項目と比較します。

2. if判定により、等しいアイテムがある場合はcount ++し、等しいアイテムを-1に設定します。これにより、-1に等しいアイテムが重複していると判断でき、新しい配列は追加されません。

3. ifを使用して!=-1を判断し、新しい配列に追加するかどうかを決定して、戻ります。

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]));

この問題を解決するためにreduceを使用できます。
コールバック関数の最初のパラメーターのタイプと値をreduceの2番目のパラメーターで初期化し、文字列を配列に変換すると、反復の結果がオブジェクトになり、オブジェクトの各キー値は文字になります文字列の。それを実行し、それを感じます。

var arrString = 'abcdaabc';
sum =  arrString.split('').reduce(function(res, cur) {
    
     res[cur] ? res[cur] ++ : res[cur] = 1 return res; }, {
    
    })
console.log(sum)

コードをスキャンして、後で試すために1000以上のフロントエンドインタビューの質問コレクションを取得します

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_42981560/article/details/109048716