Есть зарядка для хвоста. И для хобота зарядка. ©"38 попугаев"

Подразумеваю одну общую тему на элементарные действия.
Задачки когда-то давал @dmitry на своих занятиях. Давайте расширим кол-во.

  1. Из двумерного массива сделать одномерный. На первом уровне может быть как массив, так и не массив.
    flatten([[1], 1, 1]); // [1, 1, 1]
    flatten([[[1]], 1]); // [[1], 1]
    flatten([]); // []
    flatten([{}]); // [{}]
    flatten([[{}], []]); // [{}, []]

  2. Проверить является ли массив подмножеством другого массива. Функция принимает аргументами 2 массива. Возвращает true, если все элементы второго массива являются элементами первого. Массивы могут содержать любые значения
    contains([1,2,3,4,5,6,7,8,9], [1,2]); // true
    contains([1,2,3,4,5,6,7,8,9], [1,2]); // true
    contains([1,2,3,4,5,6,7,8,9], []); // true
    contains([1,2,3,4,5,6,7,8,9], [0]); // false
    contains([], [0]); // false
    contains([], []); // true
    contains([1], [1]); // true

  3. Из одномерного массива, сделать двумерный. Функция принимает 2 аргумента: массив и число. Число показывает количество элементов в под массивах
    toMatrix([1,2,3,4,5,6,7,8,9], 3); // [[1,2,3], [4,5,6], [7,8,9]]
    toMatrix([1,2,3,4,5,6,7], 3); // [[1,2,3], [4,5,6], [7]]
    toMatrix([1,2,3], 5); // [[1,2,3]]
    toMatrix([], 3); // []

  4. Создать объект из массивов ключей и значений. Функция принимает аргументами 2 массива: первый - массив ключей, второй - значений. Если ключей меньше, чем значений, игнорировать не вмещающиеся значения. Если ключей больше, чем значений, установить значения в undefined
    createObject([‘name’, ‘age’], [‘Vasiliy’, 45]); // {name: ‘Vasiliy’, age: ‘45’}
    createObject([‘name’, ‘age’], [‘Vasiliy’]); // {name: ‘Vasiliy’, age: undefined}
    createObject([‘name’], [‘Vasiliy’, 45]); // {name: ‘Vasiliy’}
    createObject([], []); // {}

  5. Преобразовать объект в query-string. На входе - одноуровневый объект, значения свойств объекта - строки или числа.
    toSearchString({}); // ''
    toSearchString({test: true}); // 'test=true’
    toSearchString({num: 10, test: true}); // 'num=10&test=true’
    toSearchString({num: 10, test: true, user: ‘admin’}); // ‘num=10&test=true&user=admin’

1 лайк

Для удобства сделаны странички с тестами

Из двумерного массива сделать одномерный
Проверить является ли массив подмножеством другого массива
Из одномерного массива, сделать двумерный
Создать объект из массивов ключей и значений
"Преобразовать объект в query-string" - вот такой еще нет. Есть обратная http://jscourse.com/task/query-string-to-object

Больше задач можно найти тут: http://jscourse.com/tasks/

1 лайк

Добавил: Преобразовать объект в queryString

Ассоциативный ряд!!
Задачник Рымкевича, может кому ближе решебник Сканави,
Будем его называть задачник Подгорного :confused:

ресурс классный! Я что-то вроде этого искал недавно! :thumbsup: