创建具有相同值的地图,并使用ES6 / Harmony键入FP方式

时间:2014-12-21 23:37:17

标签: javascript functional-programming ecmascript-6 ecmascript-harmony

给定一组" Apple"," Banana"和" Orange",创建以下内容:

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

也就是说,每个字符串都成为键和值。

(顺便说一下,Facebook的小KeyMirror JS实用程序在他们的Flux示例中做了什么。)

使用ES6 / Harmony是否采用功能编程风格的单行方式,例如:

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

而不是非功能性编程方式,例如:

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

1 个答案:

答案 0 :(得分:2)

怎么样,.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;}, {});