const recursionCopy = params => {
let newParams = Array.isArray(params) ? [] : {};
if (typeof params != 'object') {
newParams = params;
return newParams;
}
if (params instanceof Array) {
for (let i = 0; i < params.length; i++) {
if (typeof params[i] == 'object') {
newParams[i] = recursionCopy(params[i]);
} else {
newParams[i] = params[i];
}
}
} else {
for (let key in params) {
if (Reflect.has(params, key)) {
if (typeof params[key] == 'object') {
newParams[key] = recursionCopy(params[key]);
} else {
newParams[key] = params[key];
}
}
}
}
return newParams;
};