是否存在将数组的所有元素连接到如下所示的唯一元素的本机方法:
[
{a: "a"},
{b: "b"}
].join do | x, y |
x.merge(y)
end
输出如下内容:
{
a: "a",
b: "b"
}
我在我的数组中使用哈希的事实是一个例子,我可以说:
[
0,
1,
2,
3
].join do | x, y |
x + y
end
以6
作为值结束。
答案 0 :(得分:5)
Enumerable#inject
涵盖了这两种情况:
a = [{a: "a"}, {b: "b"}]
a.inject(:merge) #=> {:a=>"a", :b=>"b"}
b = [0, 1, 2, 3]
b.inject(:+) #=> 6
inject
"总和"使用提供的方法的数组。在第一种情况下,"添加"总和和当前元素通过合并完成,在第二种情况下,通过添加完成。
如果数组为空,inject
将返回nil
。要使其返回其他内容,请指定初始值(感谢@Hellfar):
[].inject(0, :+) #=> 0
答案 1 :(得分:3)
$ npm install -g typings;
$ typings install --save --global dt~geojson
$ typings install --save --global dt~mapbox-gl