在下划线中使用range()
我可以做这样的事情:
_.range(10);
>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
我可以以某种方式修改/使用它来创建这样的结果:
solution();
>> {0: true, 1: true, 2: true, 3: true}
该解决方案还可能包括 jQuery。
在下划线中使用range()
我可以做这样的事情:
_.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)));
这将考虑到源数组中的实际值,它可以是任何顺序的数字或字符串。
我不特别推荐这个,但如果可以确定您的源范围不包含零,您可以进一步简化它,因为所有值都是真实的:
var hash = _.object(range, range);