Предполагая, что вам нужен массив, содержащий результаты ряда вызовов функций, вы можете получить это.Вам нужно перебрать массив, получить каждую функцию из объекта MainFunc и затем вызывать ее каждый раз.
Я включил обработку для несуществующей вызываемой функции, которая, как оказалось, была в вашем примере (возможно, непреднамеренно).
var MainFunc = {
start : function(x) { return "start called with " + x.toString(); },
setClientId : function(x) { return "setClientId called with " + x.toString(); },
someBool : function(x) { return "someBool called with " + x.toString(); }
}
var someStuff = [
"start", { one: "one" },
"setSomething", "foobar",
"setClientId", "foobar",
"someBool", true
];
var result = Process(someStuff);
function Process(arr) {
var result = [];
for (var i = 0; i < arr.length; i += 2) {
let fnToCall = MainFunc[arr[i]];
let fnResult = fnToCall ? fnToCall(arr[i + 1]) : "(unknown: '" + arr[i] + "')";
result.push(fnResult);
}
return result;
}
console.log(result);