DEV Community

Discussion on: A common coding interview question

Collapse
 
jkodev profile image
Jonathan Jasson Huamani Cuadros

This is my approach.

function intersection(stringArray) {
    const parseArray = (array) => [...new Set(array.split(',').map(item => item.trim()))];
    const [a, b] = stringArray;
    const aParsed = parseArray(a);
    const bParsed = parseArray(b);
    const mergedData = [...aParsed, ...bParsed];
    const counter = {};
    mergedData.forEach(item => {
        counter[item] = (counter[item] || 0) + 1;
    });
    return Object.entries(counter).filter(item => item[1] > 1).map(item => item[0]).join(',');
}
Collapse
 
elisabethgross profile image
elisabethgross

Nice custom parseArray function!! And I like that use of Object.entries().