EngineerSpock

10 задач с собеседования по JavaScript

 
 
 
 
 
 
function sumMultipleOfThree(arr) {
    let sum = 0;
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] % 3 === 0) {
            sum += arr[i];
        }
    }
    return sum;
}
2. Напишите функцию, которая принимает строку и возвращает обратную ей
function reverseString(str) {
    return str.split('').reverse().join('');
}
 
3. Напишите функцию, которая принимает массив объектов и сортирует его по возрастанию значения свойства “age”
function sortByAge(arr) {
    return arr.sort((a, b) => a.age - b.age);
}
4. Напишите функцию, которая принимает два массива и возвращает новый массив, состоящий из элементов, которые содержатся только в одном из переданных массивов
function getUniqueElements(arr1, arr2) {
    const uniqueElements = [];
    arr1.forEach((el) => {
        if (!arr2.includes(el)) {
            uniqueElements.push(el);
        }

    });




    arr2.forEach((el) => {
        if (!arr1.includes(el)) {
            uniqueElements.push(el);
        }
    });
    return uniqueElements;
}
5. Напишите функцию, которая принимает число и возвращает его факториал
function factorial(num) {
    if (num === 0 || num === 1) {
        return 1;
    }
    let result = 1;
    for (let i = 2; i <= num; i++) {
        result *= i;
    }
    return result;
}
6. Напишите функцию, которая принимает строку и возвращает количество гласных букв в этой строке
function countVowels(str) {
    const vowelsPattern = ['а', 'е', 'ё', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я'];
    let count = 0;
    for (let i = 0; i < str.length; i++) {
        if (vowelsPattern.includes(str[i].toLowerCase())) {
            count++;
        }
    }
    return count;
}
7. Напишите функцию, которая принимает массив чисел и возвращает новый массив, в котором все числа увеличены на 1
function incrementNumbers(arr) {
    return arr.map((num) => num + 1);
}
8. Напишите функцию, которая принимает две строки и возвращает true, если одна строка является анаграммой другой (имеют одинаковые символы, но в разном порядке)
function isAnagram(str1, str2) {
    const sortedStr1 = str1.split('').sort().join('');
    const sortedStr2 = str2.split('').sort().join('');
    return sortedStr1 === sortedStr2;
}
9. Напишите функцию, которая принимает массив чисел и возвращает самое большое число из массива
function getMaxNumber(arr) {
    return Math.max(...arr);
}
10. Напишите функцию, которая принимает массив объектов и возвращает новый массив, содержащий только те объекты, у которых имеется свойство “name”
function filterObjectsWithNames(arr) {
    return arr.filter((obj) => obj.hasOwnProperty('name'));
}

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *