Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Sum by Type solution in Clear category for Sum by Type by Atadolfo
import assert from "assert";
interface resp {
string: string;
number: number
}
var sumByTypes = (values: Array): [string, number] => {
let r: resp = values.reduce((r: resp, v: number|string): resp => {
r[typeof v] += v;
return r;
}, {string: "", number: 0});
return [r.string, r.number];
}
console.log('Example:');
console.log(sumByTypes([]));
// These "asserts" are used for self-checking
assert.deepEqual(sumByTypes([]), ['', 0]);
assert.deepEqual(sumByTypes([1, 2, 3]), ['', 6]);
assert.deepEqual(sumByTypes(['1', 2, 3]), ['1', 5]);
assert.deepEqual(sumByTypes(['1', '2', 3]), ['12', 3]);
assert.deepEqual(sumByTypes(['1', '2', '3']), ['123', 0]);
assert.deepEqual(sumByTypes(['size', 12, 'in', 45, 0]), ['sizein', 57]);
console.log("Coding complete? Click 'Check' to earn cool rewards!");
May 15, 2020
Comments: