Изучите 5 удобных методов JavaScript для улучшения вашего кода
Ищете полезные советы и рекомендации по JavaScript? Вот несколько важных приемов, о которых вам следует знать.
- Замена переменных. Раньше для замены переменных требовалась временная переменная. Однако с деконструкцией массива мы можем легче менять местами переменные.
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
Включив эти методы в свой код, вы можете значительно повысить свою производительность и эффективность своего кода.