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

3

我有以下代码行:

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

这个问题的答案会被评估为什么?

2个回答

1
额外的方括号([])实际上并不是必需的,但_.sortBy(dataArray, 1)查找迭代器的简写
_.sortBy(dataArray, function (data) { return data[1]; });

这可以用来按每个内部Array的第二个项目对Array进行排序:

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
这意味着您的dataArray用于根据原始数组每个元素的“1”属性进行比较,给出排序后的数组。
例如,如果它是字符串数组,则使用第二个字符作为比较器。如果它是数组的数组,则使用每个数组的第二个元素。
这是定义提取每个项的给定属性的迭代器函数的快捷方式。
然后,reverse做了它一直在做的事情,即反转数组。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接