DEV Community

Athithya Sivasankarar
Athithya Sivasankarar

Posted on

JavaScript Object & Array Scenario based Questions

1. User Profile Update

Update an object property and add a new one.

const user = {
  name: "Vijay",
  age: 25,
  email: "vijay@gmail.com"
};

user.email = "vijaykumar@gmail.com";
user.isActive = true;

console.log(user);
Enter fullscreen mode Exit fullscreen mode

Output:

{
  name: "Vijay",
  age: 25,
  email: "vijaykumar@gmail.com",
  isActive: true
}
Enter fullscreen mode Exit fullscreen mode

2. Shopping Cart Total

Calculate total price from an array of objects.

const cart = [
  { name: "Shirt", price: 500 },
  { name: "Shoes", price: 1500 },
  { name: "Cap", price: 300 }
];

const total = cart
  .map(val => val.price)
  .reduce((acc, val) => acc + val, 0);

console.log(total);
Enter fullscreen mode Exit fullscreen mode

Output:

2300
Enter fullscreen mode Exit fullscreen mode

3. Find Specific Object

Find a user with a specific name.

const users = [
  { name: "Vijay", age: 25 },
  { name: "Arun", age: 30 },
  { name: "Kumar", age: 28 }
];

const output = users.filter(n => n.name === "Arun");

console.log(output);
Enter fullscreen mode Exit fullscreen mode

Output:

[{ name: "Arun", age: 30 }]
Enter fullscreen mode Exit fullscreen mode

4. Add Item to Array & Filter

Add a new product and filter data.

const products = [
  { name: "Shirt", price: 500 },
  { name: "Shoes", price: 1500 }
];

products.push({ name: "Pant", price: 1750 });

console.log(products);

const newProdut = products.filter(
  n => n.name !== "Shoes" && n.price > 1000
);

console.log(newProdut);
Enter fullscreen mode Exit fullscreen mode

Output:

[
  { name: "Shirt", price: 500 },
  { name: "Shoes", price: 1500 },
  { name: "Pant", price: 1750 }
]

[
  { name: "Pant", price: 1750 }
]
Enter fullscreen mode Exit fullscreen mode

5. Count Items in Object

Find total values inside an object.

const fruits = {
  apple: 2,
  banana: 5,
  mango: 3
};

const output = Object.values(fruits).reduce((acc, n) => acc + n);

console.log(output);
Enter fullscreen mode Exit fullscreen mode

Output:

10
Enter fullscreen mode Exit fullscreen mode

6. Convert Array to Object

Convert array into object with values as keys.

const users = ["Vijay", "Arun", "Kumar"];

const dub = Object.fromEntries(
  users.map(v => [v, true])
);

console.log(dub);
Enter fullscreen mode Exit fullscreen mode

Output:

{
  Vijay: true,
  Arun: true,
  Kumar: true
}
Enter fullscreen mode Exit fullscreen mode

Top comments (1)

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

Much simpler:

// Cart total
const cart = [
  { name: "Shirt", price: 500 },
  { name: "Shoes", price: 1500 },
  { name: "Cap", price: 300 }
]

const total = cart.reduce( (total, { price }) => total + price, 0 )
console.log(total)
Enter fullscreen mode Exit fullscreen mode

Your version returns an array containing the user. This version returns the found user (which is probably preferable), and stops looking when the user is found - more efficient:

// Find User
const users = [
  { name: "Vijay", age: 25 },
  { name: "Arun", age: 30 },
  { name: "Kumar", age: 28 }
]

const output = users.find(n => n.name === "Arun")
console.log(output)
Enter fullscreen mode Exit fullscreen mode