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

JavaScriptオブジェクトプロパティによってオブジェクトの配列内の一意の要素の数を数えますか?


レストランでの注文に関するデータを含む次のオブジェクトの配列があるとします-

const orders = [
   {table_id: 3, food_id: 5},
   {table_id: 4, food_id: 2},
   {table_id: 1, food_id: 6},
   {table_id: 3, food_id: 4},
   {table_id: 4, food_id: 6},
];

そのような配列を1つ取り込むJavaScript関数を作成する必要があります。この関数は、配列内の一意のtable_idプロパティの数(つまり、注文が予約されている一意のテーブルの数)をカウントする必要があります。

また、一意のfood_idプロパティの数(つまり、注文された一意の料理の数)

const orders = [
   {table_id: 3, food_id: 5},
   {table_id: 4, food_id: 2},
   {table_id: 1, food_id: 6},
   {table_id: 3, food_id: 4},
   {table_id: 4, food_id: 6},
];
const countUniques = (orders = []) => {
   const tableObj = {}, foodObj = {};
   orders.forEach(el => {
      tableObj[el.table_id] = null;
      foodObj[el.food_id] = null;
   });
   const tableUniqueIDs = Object.keys(tableObj).length;
   const foodUniqueIDs = Object.keys(foodObj).length;
   return {
      tableUniqueIDs, foodUniqueIDs
   };
};
console.log(countUniques(orders));

出力

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

になります
{ tableUniqueIDs: 3, foodUniqueIDs: 4 }

  1. 要素がJavaScriptのオブジェクトの列挙可能なプロパティ値である配列を返す方法は?

    いくつかの論理メソッドを使用して、オブジェクトから値とキーを取得できますが、これらのメソッドは値を配列として返さないため、多くの場合非常に便利です。 JavascriptはObject.values()を提供しています 要素が列挙可能なプロパティである配列を取得するメソッド オブジェクトの値。 構文 Object.values(obj); このメソッドはオブジェクトを取ります 引数として、要素がプロパティ値に他ならない配列を返します オブジェクトの。 例-1 次の例では、オブジェクトはメソッド object.values()を介して送信されます。 プロパティ値は配列として表示されました。

  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> <style&g