[1]迭代器为下划线sortBy函数评估什么?

时间:2013-04-16 22:00:48

标签: node.js underscore.js

我有以下代码行:

dataArray = _.sortBy(dataArray, [1]).reverse();

什么会被评估为答案?

2 个答案:

答案 0 :(得分:1)

这意味着您的dataArray用于根据原始数组中每个元素的“1”属性的比较来提供排序数组。

例如,如果它是一个字符串数组,则第二个char用作比较器。如果它是一个数组数组,则使用每个数组的第二个元素。

它是定义迭代器函数的快捷方式,它提取每个项目的给定属性。

然后反向执行它一直做的事情,反转数组。

答案 1 :(得分:1)

额外的括号([])实际上不是必需的,但_.sortBy(dataArray, 1)short-hand for a lookup iterator

_.sortBy(dataArray, function (data) { return data[1]; });

这可以用来按Array内的第二项ArrayArray进行排序 - var origin = [ [0, 5], [1, 4], [2, 3] ]; // sort by `5`, `4`, and `3` var sorted = _.sortBy(origin, 1); console.log(sorted); // [ [2, 3], [1, 4], [0, 5] ];

{{1}}