Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

重複する値を持つ配列を、JavaScriptで繰り返し出現する数のオブジェクトに変換します


次のような重複エントリを含む配列文字列があるとします-

const arr = ['California','Texas','Texas','Texas','New
York','Missouri','New Mexico','California'];

そのような配列を1つ取り込むJavaScript関数を作成する必要があります。次に、関数は、一意のエントリごとにオブジェクトを含むオブジェクトの配列と、元の配列のカウントを含むプロパティ「count」を作成する必要があります。

したがって、上記の配列の最終出力は次のようになります-

const output = [
   {'name':'California', 'count':2},
   {'name':'Texas', 'count':3},
   {'name':'New York', 'count':1},
   {'name':'Missouri', 'count':1},
   {'name':'New Mexico', 'count':1},
];

このためのコードは-

になります
const arr = ['California','Texas','Texas','Texas','New York','Missouri','New Mexico','California'];
const findOccurrences = (arr = []) => {
   const res = [];
   arr.forEach(el => {
      const index = res.findIndex(obj => {
         return obj['name'] === el;
      });
      if(index === -1){
         res.push({
            "name": el,
            "count": 1
         })
      }
      else{
         res[index]["count"]++;
      };
   });
   return res;
};
console.log(findOccurrences(arr));

出力

そして、コンソールの出力は-

になります
[
   { name: 'California', count: 2 },
   { name: 'Texas', count: 3 },
   { name: 'New York', count: 1 },
   { name: 'Missouri', count: 1 },
   { name: 'New Mexico', count: 1 }
]

  1. JavaScript配列で重複する値を見つける方法は?

    JavaScriptで重複する値を見つけるには、次のコードを実行してみてください- 例 <html>        <body>                     <script>            function removeDuplicate(arr) {             &

  2. JavaScriptを使用した配列内のネストされたオブジェクト値の合計

    以下は、JavaScriptを使用して配列内のネストされたオブジェクト値を合計するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <st