У меня есть массив как этотFinding повторил ряд элементов в массиве элементов
var randomArray = [1,2,1,1,1,1,0,2,1,2,3,10,12,54,10,12] etc..
я могу удалить дубликаты элементов или найти дубликаты элементов в этом. Но я хочу записать всю повторяющуюся последовательность элементов, повторяющихся в массиве. Вот код, который я пробовал, но он работает в бесконечном цикле
for (i = 0; i < randomLength; i++) {
var cycle = [i],
flag = 0,
start = i;
for (var j = i + 1; j < randomLength; j++) {
if (randomArray[i] == randomArray[j]) {
cycle.push(randomArray[j]);
while (i <= j) {
if (randomArray[i + 1] == randomArray[j + 1]) {
cycle.push(randomArray[j + 1]);
}
i = i + 1;
j = j + 1;
}
console.log(cycle);
}
i = start;
}
i = start;
}
Он должен вернуть меня. И я не хочу, чтобы регулярное выражение, чтобы сделать то же самое
1,2
1,1
10,12
If array is ["a","d","z","e","g","h","a","d","z"]
затем
output would be "a","d","z"
И это должно быть оптимальным решением. Пожалуйста, предложите мне об этом. По крайней мере, поправки к моему текущему коду ..
Почему '10, 12' и' 0, 2'? – Blender
@Blender Поскольку последовательность 0,2 повторяется только один раз там. – Exception
Это интересная задача. –