Развернуть вложенные массивы

Всем добрый день. Задача стоит у меня такая:
Есть массив каждым элементом которого является массив с двумя элементами. Эти элементы координаты.
И так получилось что они поменены местами. Т.е. мне надо создать новый массив, в котором эти элементы будет корректно расположены.
Например есть [[2,3],[4,5]] получить должен [[3,2],[5,4]]

Начал делать такую функцию:

const clasterPos = ()=>{
  let arr = claster.default[0].coordinates;
  let newArr = [];
  let res;
  for(let i=0; i < arr.length; i++){
      res = arr[i].reverse()
      console.log(res)
      newArr[i] = res
  }
  return newArr
}

Там где я в консоль вывожу res она выводится правильно. Но в массиве который имею на выходе newArr - массив не развернутый возвращается о_О не понимаю как так выходит…

покажите, пожалуйста, а как Вы обращаетесь к этой функции? и почему const ?

const использую так как по идеи эта функция должна вызваться один раз и не изменной будет.

А вот запускаю я ее при рендере компонента. Грубо говоря вот так

  <Polygon pathOptions={{ color: 'purple' }} positions={[clasterPos()]}

arr и newArr тоже могут быть const. Частота вызовов не причем, оно запрещает только такое:

const arr = []
arr = [] // error
arr[0] = 8 // ok

У меня работает.

const clasterPos = (arr) => {
  let newArr = [];
  let res;
  for(let i=0; i < arr.length; i++){
      res = arr[i].reverse()
      newArr[i] = res
  }
  return newArr
}

const result = clasterPos([[2,3],[4,5]])

image


Код можно упростить:

return arr.map(it => it.reverse())
1 лайк