for(let p=0; p<str_min.length-l; p++){
....
let substr = str_min.slice(p, p+l+1);
for(let p=0; p<=str_min.length-l; p++){
....
let substr = str_min.slice(p, p+l);
search_largest_substr([ 'ADC', 'ADCV', 'AD' ]);
search_largest_substr('ADC', 'ADCV', 'AD');
// не сталл делать через Array.concat() так как еще не везде поддерживается
let arg = [];
Array.from(arguments).forEach(a=>{
if( !Array.isArray(a))
return arg.push(a);
arg = arg.concat(a);
});
// не забудьте заменить дальше по тексту функции все arguments на arg
var arg = this,process.argv.slice(2);
var str = search_largest_substr.apply(arg)
console.log(str);
// сложив все вместе получим
console.log(search_largest_substr.apply(this,process.argv.slice(2)));