diff --git a/problems/js/array-wrapper.js b/problems/js/array-wrapper.js new file mode 100644 index 0000000..ccaefe4 --- /dev/null +++ b/problems/js/array-wrapper.js @@ -0,0 +1,30 @@ +/** + * @param {number[]} nums + */ +var ArrayWrapper = function(nums) { + this.nums = nums; + + return this; +}; + +ArrayWrapper.prototype.valueOf = function() { + let sum = 0; + + for (let x of this.nums) { + sum += x; + } + + return sum; +} + +ArrayWrapper.prototype.toString = function() { + return `[${this.nums.join(',')}]`; +} + +/** + * const obj1 = new ArrayWrapper([1,2]); + * const obj2 = new ArrayWrapper([3,4]); + * obj1 + obj2; // 10 + * String(obj1); // "[1,2]" + * String(obj2); // "[3,4]" + */