Code Lab

Pairs by character

EasyMap and Set7 min

You get two arrays of objects like { c, a }. The field c is one character, the field a is an integer. Within one array a character occurs at most once.

Write a function sumOfProducts(first, second). For every character that is in both arrays, multiply their a numbers. Return the sum of these products.

Examples

sumOfProducts([{ c: 'a', a: 5 }, { c: 'b', a: 6 }], [{ c: 'b', a: 4 }, { c: 'a', a: 2 }])

Returns 34

That is 5 * 2 + 6 * 4.
sumOfProducts([{ c: 'x', a: 3 }], [{ c: 'y', a: 7 }])

Returns 0

There are no common characters.

Asked at Google · Source

Loading the editor...
  1. InputsumOfProducts([ { c: 'a', a: 5 }, { c: 'b', a: 6 } ], [ { c: 'b', a: 4 }, { c: 'a', a: 2 } ])
    Expected34
  2. InputsumOfProducts([ { c: 'x', a: 3 } ], [ { c: 'y', a: 7 } ])
    Expected0
  3. InputsumOfProducts([ { c: 'a', a: 1 }, { c: 'b', a: 2 }, { c: 'c', a: 3 } ], [ { c: 'c', a: 10 }, { c: 'd', a: 4 } ])
    Expected30

Hidden tests run on Submit.