Если важна эффективность, вы можете сделать это на месте с одним проходом O(n)
(не считая toLowerCase
), запустив индексы с каждого конца массива и поменяясь местами, когда правый индекс находит пиццу, а левый - не-пицца:
function moveToFirstPlace(arr, key){
let i = 0, j = arr.length -1
while (i < j){
while(!arr[j].toLowerCase().includes(key)) j--;
while(arr[i].toLowerCase().includes(key)) i++;
if (i < j)
[arr[j], arr[i]] = [arr[i], arr[j]];
i++;
j--;
}
}
let arr = ['pizza', 'Pasta', 'Burger', 'PiZZa', 'pizzA']
moveToFirstPlace(arr,'pizza')
console.log(arr)