Создайте карту с одинаковыми значениями и ключами способом FP, используя ES6 / Harmony


Учитывая набор "яблоко", "банан" и "апельсин", создайте следующее:

{ "Apple": "Apple", "Banana": "Banana", "Orange": "Orange" }

То есть каждая строка становится ключом, а также значением.

(это, кстати, то, что делает маленькая утилита Facebook KeyMirror JS в своих примерах потока.)

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

["Apple", "Banana", "Orange"].map(v => v: v)

Вместо нефункционального способа программирования, такого как как:

let o = {}; for (let v of ["Apple", "Banana", "Orange"]) o[v] = v;

1 3

1 ответ:

Как насчет этого, .reduce(function(obj, str){obj[str] = str; return obj;}, {})

Например:

var arry = ["Apple", "Banana", "Orange"];
var map = arry.reduce(function(obj, str){obj[str] = str; return obj;}, {});