Code Monkey home page Code Monkey logo

goit-js-03's Introduction

Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках: Русский, Π£ΠΊΡ€Π°Ρ—Π½ΡΡŒΠΊΠ°.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ°

  • Π‘ΠΎΠ·Π΄Π°Π½ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ goit-js-hw-03
  • ΠŸΡ€ΠΈ сдачС домашнСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΅ΡΡ‚ΡŒ ссылка Π½Π° исходныС Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ
  • КаТдоС Π·Π°Π΄Π°Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ task-Π½ΠΎΠΌΠ΅Ρ€_задания.js. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ <script type="module"> Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ΄ задания Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ области видимости ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠΌΠ΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ².
  • ИмСна ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ понятныС, ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅
  • Код ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Prettier

Π—Π°Π΄Π°Π½ΠΈΠ΅ 1

Напиши скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° user, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ:

  • добавляСт ΠΏΠΎΠ»Π΅ mood со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 'happy'
  • замСняСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ hobby Π½Π° 'skydiving'
  • замСняСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ premium Π½Π° false
  • Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ содСрТимоС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° user Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Object.keys() ΠΈ for...of
const user = {
  name: 'Mango',
  age: 20,
  hobby: 'html',
  premium: true,
};

Π—Π°Π΄Π°Π½ΠΈΠ΅ 2

Напиши Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ countProps(obj), ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ»-Π²ΠΎ свойств Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅. Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число - количСство свойств.

const countProps = function(obj) {
  // Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄
};

/*
 * Π’Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ работоспособности Ρ‚Π²ΠΎΠ΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
 */
console.log(countProps({})); // 0

console.log(countProps({ name: 'Mango', age: 2 })); // 2

console.log(countProps({ mail: '[email protected]', isOnline: true, score: 500 })); // 3

Π—Π°Π΄Π°Π½ΠΈΠ΅ 3

Напиши Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ findBestEmployee(employees), которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сотрудников ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя самого ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» большС всСх Π·Π°Π΄Π°Ρ‡). Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ ΠΈ ΠΊΠΎΠ»-Π²ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ содСрТатся ΠΊΠ°ΠΊ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ "имя":"ΠΊΠΎΠ»-Π²ΠΎ Π·Π°Π΄Π°Ρ‡".

const findBestEmployee = function(employees) {
  // Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄
};

/*
 * Π’Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ работоспособности Ρ‚Π²ΠΎΠ΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
 */
console.log(
  findBestEmployee({
    ann: 29,
    david: 35,
    helen: 1,
    lorence: 99,
  }),
); // lorence

console.log(
  findBestEmployee({
    poly: 12,
    mango: 17,
    ajax: 4,
  }),
); // mango

console.log(
  findBestEmployee({
    lux: 147,
    david: 21,
    kiwi: 19,
    chelsy: 38,
  }),
); // lux

Π—Π°Π΄Π°Π½ΠΈΠ΅ 4

Напиши Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ countTotalSalary(employees) ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΡƒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°Ρ€ΠΏΠ»Π°Ρ‚. Ѐункция считаСт ΠΎΠ±Ρ‰ΡƒΡŽ сумму Π·Π°ΠΏΡ€ΠΏΠ»Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠ² ΠΈ Π²ΠΎΠ·Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π΅. КаТдоС ΠΏΠΎΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ "имя":"Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π°".

const countTotalSalary = function(employees) {
  // Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄
};

/*
 * Π’Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ работоспособности Ρ‚Π²ΠΎΠ΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
 */
console.log(countTotalSalary({})); // 0

console.log(
  countTotalSalary({
    mango: 100,
    poly: 150,
    alfred: 80,
  }),
); // 330

console.log(
  countTotalSalary({
    kiwi: 200,
    lux: 50,
    chelsy: 150,
  }),
); // 400

Π—Π°Π΄Π°Π½ΠΈΠ΅ 5

Напиши Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ getAllPropValues(arr, prop), которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ имя свойства. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ свойства prop ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² массивС.

const products = [
  { name: 'Π Π°Π΄Π°Ρ€', price: 1300, quantity: 4 },
  { name: 'Π‘ΠΊΠ°Π½Π΅Ρ€', price: 2700, quantity: 3 },
  { name: 'Π”Ρ€ΠΎΠΈΠ΄', price: 400, quantity: 7 },
  { name: 'Π—Π°Ρ…Π²Π°Ρ‚', price: 1200, quantity: 2 },
];

const getAllPropValues = function(arr, prop) {
  // Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄
};

/*
 * Π’Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ работоспособности Ρ‚Π²ΠΎΠ΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
 */
console.log(getAllPropValues(products, 'name')); // ['Π Π°Π΄Π°Ρ€', 'Π‘ΠΊΠ°Π½Π΅Ρ€', 'Π”Ρ€ΠΎΠΈΠ΄', 'Π—Π°Ρ…Π²Π°Ρ‚']

console.log(getAllPropValues(products, 'quantity')); // [4, 3, 7, 2]

console.log(getAllPropValues(products, 'category')); // []

Π—Π°Π΄Π°Π½ΠΈΠ΅ 6

Напиши Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ calculateTotalPrice(allProdcuts, productName), которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ имя ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства name). Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ‰ΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° (Ρ†Π΅Π½Π° * количСство).

Π’Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ работоспособности Ρ‚Π²ΠΎΠ΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

const products = [
  { name: 'Π Π°Π΄Π°Ρ€', price: 1300, quantity: 4 },
  { name: 'Π‘ΠΊΠ°Π½Π΅Ρ€', price: 2700, quantity: 3 },
  { name: 'Π”Ρ€ΠΎΠΈΠ΄', price: 400, quantity: 7 },
  { name: 'Π—Π°Ρ…Π²Π°Ρ‚', price: 1200, quantity: 2 },
];

const calculateTotalPrice = function(allProdcuts, productName) {
  // Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄
};

/*
 * Π’Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ работоспособности Ρ‚Π²ΠΎΠ΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
 */
console.log(calculateTotalPrice(products, 'Π Π°Π΄Π°Ρ€')); // 5200

console.log(calculateTotalPrice(products, 'Π”Ρ€ΠΎΠΈΠ΄')); // 2800

Π—Π°Π΄Π°Π½ΠΈΠ΅ 7 - Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ

Напиши скрипт управлСния Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π±Π°Π½ΠΊΠ°. Π•ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ account Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с балансом ΠΈ историСй Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.

/*
 * Π’ΠΈΠΏΠΎΠ² Ρ‚Ρ€Π°Π½Π·Π°Ρ†ΠΊΠΈΠΉ всСго Π΄Π²Π°.
 * МоТно ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π»ΠΈΠ±ΠΎ ΡΠ½ΡΡ‚ΡŒ дСньги со счСта.
 */
const Transaction = {
  DEPOSIT: 'deposit',
  WITHDRAW: 'withdraw',
};

/*
 * КаТдая транзакция это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ со свойствами: id, type ΠΈ amount
 */

const account = {
  // Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ баланс счСта
  balance: 0,

  // Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ
  transactions: [],

  /*
   * ΠœΠ΅Ρ‚ΠΎΠ΄ создаСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.
   * ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ сумму ΠΈ Ρ‚ΠΈΠΏ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.
   */
  createTransaction(amount, type) {},

  /*
   * ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ суммы ΠΊ балансу.
   * ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ сумму Ρ‚Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.
   * Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ createTransaction для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
   * послС Ρ‡Π΅Π³ΠΎ добавляСт Π΅Π³ΠΎ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ
   */
  deposit(amount) {},

  /*
   * ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° снятиС суммы с баланса.
   * ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ сумму Ρ‚Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.
   * Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ createTransaction для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
   * послС Ρ‡Π΅Π³ΠΎ добавляСт Π΅Π³ΠΎ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.
   *
   * Если amount большС Ρ‡Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ баланс, Π²Ρ‹Π²ΠΎΠ΄ΠΈ сообщСниС
   * ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ снятиС Ρ‚Π°ΠΊΠΎΠΉ суммы Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, нСдостаточно срСдств.
   */
  withdraw(amount) {},

  /*
   * ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ баланс
   */
  getBalance() {},

  /*
   * ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΈΡ‰Π΅Ρ‚ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Ρ€Π°Π½Π·Π°Ρ†ΠΈΠΈ ΠΏΠΎ id
   */
  getTransactionDetails(id) {},

  /*
   * ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство срСдств
   * ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ· всСй истории Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ
   */
  getTransactionTotal(type) {},
};

goit-js-03's People

Contributors

labattaria avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.