Изучите 5 удобных методов JavaScript для улучшения вашего кода

Ищете полезные советы и рекомендации по JavaScript? Вот несколько важных приемов, о которых вам следует знать.

  1. Замена переменных. Раньше для замены переменных требовалась временная переменная. Однако с деконструкцией массива мы можем легче менять местами переменные.
let myFood = '🍔'; 
let yourFood = '🍫';

[ myFood, yourFood ] = [ yourFood, myFood ]
console.log(myFood, yourFood) // 🍫 🍔

2. Избегайте бессмысленных утверждений if else:использование одного объекта для хранения всех продуктов питания может ускорить получение цены, тем самым избегая необходимости в бессмысленных утверждениях if else.

const getPriceByName = (name) => {
  const foodMap = {
    '🍔': 30,
    '🍨': 20,
    '🍿': 10,
    // add new food items here
    // ...
  } 
return foodMap[ name ]
}

console.log(getPriceByName('🍔')) // 30

3. Object.entries для обхода объектов: Object.entries — это более разумный способ обхода объектов, поскольку он печатает только собственные свойства объекта, и мы можем получить ключ и значение напрямую, а не с помощью obj[key].

const foodMap = {
  '🍔': 30,
  '🍨': 20,
  '🍿': 10,
  '🍫': 5
}
Object.entries(foodMap).forEach(([ key, value ]) => {
   console.log(key, value) 
})

4. Сведение массивов. Использование метода flat() упрощает сведение вложенных массивов.

const foods = [ [ '🍔', [ '🍫' ] ], [ '🍨', [ '🍿', [ '🍵' ] ] ] ]
foods.flat(Infinity) // ['🍔', '🍫', '🍨', '🍿', '🍵']

Кроме того, вы можете использовать метод reduce() для выравнивания массива. Например:

const flattenFoods = (foods) => { return foods.reduce((res, food) => { 
return res.concat(Array.isArray(food) ? flattenFoods(food) : food); }, []); };
console.log(flattenFoods(foods)); // ['🍔', '🍫', '🍨', '🍿', '🍵']

5. Расчет общей цены. Метод уменьшения позволяет быстро и эффективно рассчитать общую стоимость товаров.

const foods = [
  {
    name: '🍔',
    price: 30,
    amount: 10,
  },
  {
    name: '🍨',
    price: 20,
    amount: 3,
  },
  {
    name: '🍿',
    price: 10,
    amount: 5,
  },
  {
    name: '🍵',
    price: 5,
    amount: 9,
  },
]
const sum = foods.reduce((total, food) => {
  return total + (food.price * food.amount)
}, 0)

console.log(sum) // 455

Включив эти методы в свой код, вы можете значительно повысить свою производительность и эффективность своего кода.