在下劃線使用range()
我可以做這樣的事情:定製Underscore.js'範圍()
_.range(10);
>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
我可以以某種方式修改/用它來創建一個採用這樣:
solution();
>> {0: true, 1: true, 2: true, 3: true}
解決方案也可能包含jQuery。
在下劃線使用range()
我可以做這樣的事情:定製Underscore.js'範圍()
_.range(10);
>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
我可以以某種方式修改/用它來創建一個採用這樣:
solution();
>> {0: true, 1: true, 2: true, 3: true}
解決方案也可能包含jQuery。
接受的答案對於給定的問題來說很好,但應該注意的是,如給出的那樣,它只適用於從零開始的遞增整數的範圍,因爲它實際上使用索引而不是元素的值。
這是另一種可能的解決方案。當我需要打開一個數組變成「查找散」我這樣做:
var range = _.range(10);
var hash = _.object(range, range.map(_.const(true)));
這會考慮到你的源數組中的實際值,這可能是在任何序列號或字符串。
我不是特別推薦這一點,但如果有可能可以肯定,你的源範圍不包括零,可以進一步簡化它,因爲所有的值將是truthy:
var hash = _.object(range, range);
+1美麗解。 – helpermethod