Как обычно, предлагаю решение своей же проблемы
function f(arr, substring, separator) {
var s = arr.join(separator);
var i = s.indexOf(substring);
if (i==-1) {
return -1;
}
s = s.slice(0,i);
return s.split(separator).length - 1;
}
var arr = ['qwerty','uiopas','dfghjk'];
var substring = 'fg';
var separator = '#*#*#*#'; // какая-нибудь уникальная строка
alert(f(arr, substring, separator))
Есть минус: найдет только первое вхождение строки (кто хочет, тот допишет).
А какой максимальный размер строки в яваскрипт?