假设我们有以下对象数组,其中包含有关在餐厅下订单的数据-
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 }