30 lines
510 B
JavaScript
30 lines
510 B
JavaScript
/**
|
|
* @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]"
|
|
*/
|