如何从lodash

时间:2016-08-09 07:32:53

标签: javascript lodash

我试图通过制作这样的代码来使用lodash中的_.sortBy方法:

import _sortBy from 'lodash';
var questions = [.......some array....];
questions = _sortBy(questions, 'position');

console.log(questions);

console.log(问题)的内容为空。我不知道为什么,我想我不知道如何从lodash加载_.sortBy。我试过这个:

questions = _sortBy._.sortBy(questions, 'position')

questions = _.sortBy(questions, 'position')

但是有"bundle.js:45504 Uncaught TypeError: Cannot read property 'sortBy' of undefined""Uncaught TypeError: (0 , _jquery2.default)(...).sortable is not a function"错误。我也阅读了这个页面:https://lodash.com/docs#sortBy

但我不知道如何加载和使用这个_.sortBy方法。请帮助.. :))

注意:如果这个问题非常简单,请注意愚蠢的问题

2 个答案:

答案 0 :(得分:4)

在您的情况下,您有两种选择:

  • 您可以导入整个集合:import _ from 'lodash'; 然后您就可以像这样使用它:_.sortBy()

  • 但是,您也可以导入特定功能。因此,重要的是导入整个lodash集合,最好只导入lodash的功能,特别是当你在生产中工作时。

所以你可以这样做:import sortBy from 'lodash/sortBy';

然后您就可以像这样使用它:sortBy()

答案 1 :(得分:2)

您可以使用大括号导入特定项目。

它如何运作?

_不会默认导出,因此使用如下所示会抛出错误。

import _ from lodash

然而,您可以使用以下代码

从_中导入所有内容
import * as _ from 'lodash';

但是如果要导入特定功能或导出的任何内容,可以像下面的示例一样使用它

import {sortBy} from 'lodash';

var users = [
  { 'user': 'fred',   'age': 48 },
  { 'user': 'barney', 'age': 36 },
  { 'user': 'fred',   'age': 40 },
  { 'user': 'barney', 'age': 34 }
];

sortBy(users, function(o) { return o.user; });