Increment/Decrement an array items index number? [Answered]

I think I might be missing something, but I would like to change the array index of an item in my array.

Is there a way to do this with no code?

Certainly! Here’s an example of a function in JavaScript that takes an array, a position index, and a desired position index. It returns a new array with the item at the desired position:

javascript
Copy code
function moveItemToPosition(array, currentPosition, desiredPosition) {
// Create a copy of the original array
const newArray = array.slice();

// Remove the item from the current position and store it in a variable
const item = newArray.splice(currentPosition, 1)[0];

// Insert the item at the desired position
newArray.splice(desiredPosition, 0, item);

return newArray;
}
Here’s an example usage of the function:

javascript
Copy code
const originalArray = [β€˜a’, β€˜b’, β€˜c’, β€˜d’, β€˜e’];
const currentPosition = 2;
const desiredPosition = 4;

const newArray = moveItemToPosition(originalArray, currentPosition, desiredPosition);
console.log(newArray); // Output: [β€˜a’, β€˜b’, β€˜d’, β€˜e’, β€˜c’]

In the example above, the item at index 2 (β€˜c’) is moved to index 4 in the new array. The original array remains unchanged.

Thanks so much!

I actually got there with a similar approach, I converted this stackoverflow answer into a custom JS function in weWeb:

var data = [1,2,3,4,5];

function moveItem(from, to) {
  // remove `from` item and store it
  var f = data.splice(from, 1)[0];
  // insert stored item into position `to`
  data.splice(to, 0, f);
}

moveItem(0, 2);

All I had to do was set data = my xano array and change the function attributes to two of my current collection items.

Thanks again

1 Like