Jak zamienić dwa elementy w observableArray?
Mam przycisk, który przesuwa przedmiot o jedną pozycję w lewo w observableArray. Robię to w następujący sposób. Wadą jest jednak to, że kategorie () [index] są usuwane z tablicy, odrzucając w ten sposób wszelkie manipulacje DOM (za pomocą sprawdzania poprawności jQuery w moim przypadku).
Czy istnieje sposób na zamianę dwóch elementów bez użycia tymczasowej zmiennej, aby zachować węzeł DOM?
moveUp: function (category) {
var categories = viewModel.categories;
var length = categories().length;
var index = categories.indexOf(category);
var insertIndex = (index + length - 1) % length;
categories.splice(index, 1);
categories.splice(insertIndex, 0, category);
$categories.trigger("create");
}