Сопоставление массива с вызовом конструктора функции завершается неудачно - PullRequest
0 голосов
/ 14 декабря 2018

Мне нужно сделать что-то вроде этого:

Array.from(["xx","aa"], Function, this)

, который должен вернуть массив с двумя анонимными функциями, такими как:

[ function anonymous(){ xx }, function anonymous() { aa } ]

Однако массив, который я получаю:

[ function anonymous(xx){ 0 }, function anonymous(aa) { 1 } ]

Я посмотрел документацию для Array.from() и похоже, что когда он отображает массив, он вызывает callback(this[i], i, this), где this - сопоставляемый массив, а i - текущий индекс элемента.

Я могу ограничить параметры, отправленные, выполнив что-то вроде этого:

Array.from(["xx","aa"], function(elem) { Function(elem) } , this)[0]

Однако это возвращает undefined и не возвращает никаких функций!

Любые идеи о том, как сделать так, чтобы индекс массива не отправлялся с использованием этого синтаксиса: Array.from(["xx","aa"], Function, this)[0]

Заранее спасибо.

1 Ответ

0 голосов
/ 14 декабря 2018

Я не уверен, что именно вы хотите достичь, однако вы не можете просто Array#map над этим массивом?

const r = [() => 'foo', () => 'boo'].map((f) => () => f);

console.log(r);
r.forEach((f) => console.log(f()()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...