Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

simon.kan1 avatar simon.kan1 9 Точки

Filter Employees

Здравейте, не знам как да направя функцията на филтъра при този случай с масив пълен с обекти, моля за помощ:

https://pastebin.com/QJGFYXMY

https://judge.softuni.bg/Contests/Practice/Index/2764#3

Също ако може да ми покажете как се решава и 2ра задача 02. Add

https://judge.softuni.bg/Contests/Practice/Index/2764#1

Доста е проста, но все още нямам представа как трябва да стане синтаксиса на вградените функции в този случай, и точно тези задачи от лаба не ги показаха, а точно те са въвеждащите за да гледам от тях

Условията може да изтеглите от тук: https://judge.softuni.bg/Contests/Practice/Index/2764#0

Тагове:
0
JavaScript Advanced
Axiomatik avatar Axiomatik 2422 Точки
Best Answer

Add:

function solution(num1) {
    return function (num2) {
        return num1 + num2;
    };
}

let add5 = solution(5);
console.log(add5(2));
console.log(add5(3));

 

FilterEmployees:

function solution(string, criteria) {
    let data;
    let propName, propValue;
    const isNotAll = criteria !== 'all';

    if (isNotAll) {
        [propName, propValue] = criteria.split('-');
        // Additional validation when propName or propValue are falsy
        if (!propValue || !propValue) {
            throw new Error('Criteria are in wrong format! Invalid criteria!');
        }
    }

    try {
        data = JSON.parse(string);
    } catch (error) {
        data = [];
    }

    data.filter(function (i) {

        return isNotAll ? i[propName] === propValue : true;
    }).forEach((item, index) => console.log(`${index}. ${item.first_name} ${item.last_name} - ${item.email}`));
}

const jsonData = `[
    {
        "id": "1",
        "first_name": "Ardine",
        "last_name": "Bassam",
        "email": "abassam0@cnn.com",
        "gender": "Female"
    }, {
        "id": "2",
        "first_name": "Kizzee",
        "last_name": "Jost",
        "email": "kjost1@forbes.com",
        "gender": "Female"
    },
    {
        "id": "3",
        "first_name": "Evanne",
        "last_name": "Maldin",
        "email": "emaldin2@hostgator.com",
        "gender": "Male"
    }
]`;

const r2 = solution(jsonData, 'gender-Female');

 

0
Milovanov avatar Milovanov 11 Точки

function solve(data, criteria) {

let [prefix, value] = criteria.split('-');

let counter = 0;

 

JSON.parse(data).forEach(person => selectByCriteria.call(person));

 

function selectByCriteria() {

if (this[prefix] === value || criteria === 'all') {

return console.log(`${counter++}. ${this.first_name} ${this.last_name} - ${this.email}`);

}

}

}

0
VeselinVeselinov avatar VeselinVeselinov 1 Точки

Благодаря за хубавото и изчистено решение!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.