Loading...

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

inaivanova1990 avatar inaivanova1990 33 Точки

1. Phone Book, Lab: Associative Arrays

Здравейте, колеги!

 

Разбирам, че решението на задачата го има в презентацията, но се опитвам да решавам задачите без да взимам готови решения и да използвам, доколкото е възможно методите map, filter, reduce. Ще се радвам ако някой успее да доразвие това решение.

 

https://pastebin.com/dM1Djr8p

 

1.   Phone Book

Write a function that stores information about a person’s name and phone number. The input is an array of strings with space-separated name and number. Replace duplicate names. Print the result as shown.

Example

Input

Output

['Tim 0834212554',

 'Peter 0877547887',

 'Bill 0896543112',

 'Tim 0876566344']

Tim -> 0876566344

Peter -> 0877547887

Bill -> 0896543112

['George 0552554',

 'Peter 087587',

 'George 0453112',

 'Bill 0845344']

George -> 0453112

Peter -> 087587

Bill -> 0845344

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

;-)

function solve(input) {
    // let arrOfObj = input
    //     .map(el => {
    //         let obj = {};
    //         let [nameArr, phone] = el.split(' ');
    //         obj.name = nameArr;
    //         obj.phone = phone;
    //         return obj;
    //     })
    // let removeDuplicateObjectFromArray = (arrOfObj) => {
    //     //Когато искаме да филтрираме последният индекс, на който се намира даден ключ.
    //     return arrOfObj.filter((obj, _, arr) =>

    //       arr.lastIndexOf(obj))

    // }

    // for (let obj of removeDuplicateObjectFromArray(arrOfObj)) {
    //     console.log(`${obj.name} -> ${obj.phone}`)
    // }

    let result = input.reduce((acc, curr, i) => {
        let [nameArr, phone] = curr.split(' ');
        acc[nameArr] = phone;

        return acc;
    }, {});

    return Object.entries(result)
        .map(([name, phone]) => {
            return `${name} -> ${phone}`;
        })
        .join('\n');
}

 

1
inaivanova1990 avatar inaivanova1990 33 Точки

За пореден път - благодаря!

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