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},
];

우리는 그러한 배열을 취하는 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 }