Задачи Flashcards

(4 cards)

1
Q

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

A
function returnReversedArgumentsFunction(...rest) {
  function reverseArguments(...arguments) {
    return arguments.reverse();
  }
  return reverseArguments;
}

console.log(reversedArgsFunction(4, 5, 1, 8, 9, 10, 45))
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Решить задачу
Селектор элементов DOM: напишите функцию для выбора элементов DOM с определенным атрибутом данных и применения к ним заданного колбэка.

A
<div data-greet="hello"></div>
<div data-greet="bye"></div>

function modifyDOMElement(attribute, value, callback) {
  const elements = document.querySelectorAll(`[data-${attribute}='${value}']`);
  return elements.forEach((element) => {
    callback(element);
  });
}

function callback(element) {
  return element.textContent = 'modified';
}

modifyDOMElement('greet', 'hello', callback);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Решить задачу
Сумма остаточных параметров: Напишите функцию, которая использует остаточные параметры для вычисления и возврата суммы неопределенного числа аргументов.

A
function sum(...rest) {
  return rest.reduce((acc, val) => {
    acc += val;
    return acc;
  }, 0)
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Array Chunker: Develop a function that divides an array into chunks of a specified size and returns them.

A
function arrayChunker(array, chunk) {
  let result = [];
  for (let i = 0; i < array.length; i += chunk) {
    const slice = array.slice(i, chunk + i);
    result.push(slice);
  }
  return result;
}

console.log(arrayChunker([1, 2, 3, 4, 5, 6, 7, 8, 9], 2))
How well did you know this?
1
Not at all
2
3
4
5
Perfectly