Как я могу деструктурировать массив с помощью ES5?

Трудно преобразовать эту строку в ES5, надеюсь, кто-то может помочь:

function([i, o]) { return line(i.path(o)); }

Система, в которой мы размещаем код, очевидно, не любит деструктурировать массив как аргумент, поскольку это функция ES6, но я не знаю, как преобразовать ее в ES5.

Вот вся команда, в которой находится строка:

const link = svg.append("g")
  .attr("stroke", colornone)
  .attr("fill", "none")
  .selectAll("path")
  .data(root.leaves().flatMap(function(leaf) { return leaf.outgoing; }))
  .join("path")
  .style("mix-blend-mode", "multiply")
  .attr("d", function([i, o]) { return line(i.path(o)); }) // <----               
  .each(function(d) { d.path = this; });

Любая помощь будет оценена по достоинству!


person Josh Simmons    schedule 22.10.2020    source источник
comment
Отвечает ли это на ваш вопрос? Internet Explorer, функции с массивами для параметров   -  person Heretic Monkey    schedule 22.10.2020
comment
Спасибо, я обновил пост.   -  person Josh Simmons    schedule 22.10.2020
comment
Хорошая работа по форматированию вашего поста, но я проголосовал против, потому что не думаю, что вы показали много исследований. Ответ на ваш вопрос находится в документации по деструктуризации массива, которая называется Разрушение присваивания.   -  person Dylan Landry    schedule 22.10.2020


Ответы (1)


Замените его одной переменной:

 function( array ) {

а затем извлеките каждое свойство по одному.

 var i = array[0];
 var o = array[1];
person Quentin    schedule 22.10.2020