lodash函数_.nth(array, n)
返回数组的第n项。我很难想象这个函数比简单地写array[n]
更好的情况。
即使编写lambda函数的开销,本机语法也会更短。例如,要按第五个元素对数组进行排序:
_.sortBy(array, _.partial(_.nth(_, 5)));
_.sortBy(array, x => x[5]);
第二个版本明显更短,更易读,更快。
可能最好使用此功能的情况的例子是什么?
答案 0 :(得分:3)
如果n为负数,则返回结尾的第n个元素。
这模仿了Ruby风格的数组索引语义,当您需要从右侧进行索引时,它可用于较不详细的代码。
答案 1 :(得分:3)
_。nth对链接很有用
没有_.nth
var secondItem = _.chain(data)
.filter()
.map()
.value()[1];
var neededValue = _.chain(secondItem)
.reduce()
.filter()
.value();
带有_.nth 的
var neededValue = _.chain(data)
.filter()
.map()
.nth(1)
.reduce()
.filter()
.value();
答案 2 :(得分:2)
为了扩展mpen的评论,我认为_.nth
在lodash/fp
中更有用,它可以用于Python的itemgetter
。
let sortByHead = _.sortBy(_.nth(0));
sortByHead([[0, 1], [-1, 2], [3, 4]]);
// [ [ -1, 2 ], [ 0, 1 ], [ 3, 4 ] ]
在香草Lodash中,据我所知,它的用处仅限于否定索引。