The below code works as intended in JavaScript, but when compiling it to TypeScript I get the error
t.ts:11:34 - error TS2554: Expected 1 arguments, but got 6.
11 console.log(where_undefined(obj, 0, 'category1', 'nested', 'b', 2))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
t.ts:14:34 - error TS2554: Expected 1 arguments, but got 6.
14 console.log(where_undefined(obj, 0, 'category1', 'nested', 'b', 4))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Question
How can I get this function to work in TypeScript?
var obj = [{
"category1": {
nested: {
a: 'string',
b: [69, 13, 15]
}
},
"category2": "2",
}];
console.log(where_undefined(obj, 0, 'category1', 'nested', 'b', 2))
// print 15
console.log(where_undefined(obj, 0, 'category1', 'nested', 'b', 4))
// print undefined at key 4
function where_undefined(obj) {
var args = Array.prototype.slice.call(arguments)
args.shift();
while (args.length) {
var arg = args.shift();
if (obj[arg] === undefined) {
console.log("undefined at key " + arg);
break;
} else {
obj = obj[arg];
}
}
return obj;
}