Giả sử, chúng ta có một mảng đối tượng sau chứa dữ liệu về các đơn hàng được đặt trong một nhà hàng -
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},
]; Chúng tôi được yêu cầu viết một hàm JavaScript có trong một mảng như vậy. Hàm của chúng ta sẽ đếm số lượng thuộc tính table_id duy nhất trong mảng (tức là số lượng bảng duy nhất mà các đơn đặt hàng được đặt trước).
Và số lượng thuộc tính food_id duy nhất (tức là số lượng món ăn độc đáo được đặt hàng.)
Ví dụ
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)); Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
{ tableUniqueIDs: 3, foodUniqueIDs: 4 }