草庐IT

javascript - Lo-Dash sortBy 字符串格式的日期数组

我想知道与普通javascriptsort()相比,为什么lodash不对字符串格式的日期数组进行排序。这是预期的行为还是错误?vararray=["2014-11-11","2014-11-12",null,"2014-11-01",null,null,"2014-11-05"];_.sortBy(array);//["2014-11-11","2014-11-12",null,"2014-11-01",null,null,"2014-11-05"]_.sortBy(array,function(value){returnnewDate(value);});//[null,null,

javascript - Underscore.js findWhere 嵌套对象

我有一个文件夹/文件对象,如下所示:{about.html:{path:'./about.html'},about2.html:{path:'./about2.html'},about3.html:{path:'./about3.html'},folderName:{path:'./folderName',children:{sub-child.html:{path:'folderName/sub-child.html'}}}}它可以进入6-7层深的文件夹。我想找到路径等于我提供的字符串的对象。不管有多深。我正在使用仅在顶层使用的下划线:_.findWhere(files,{path:

javascript - 使用自定义函数在 lodash 中创建链

有没有办法在lodash链中获得我自己的自定义函数?所以例如像这样:varl=[1,2,3]varadd=function(a,b){returna+b}varr=_.chain(l).find(function(a){returna>1}).add(5).value()=>r=7 最佳答案 您要寻找的是一种扩展lodash原型(prototype)的方法。事实证明,您可以使用mixin实用函数轻松完成此操作。在这里查看文档:http://lodash.com/docs#mixin在您的示例中,它看起来像:varl=[1,2,3];

javascript - 使用 lodash 查找具有真值的 JS 对象的属性

假设我有一个像这样的对象:varfoo={alpha:true,beta:false,gamma:true}我可以使用_.findKey获取一个具有真值的键,但我真的很想获得一个包含所有具有真值的键的数组。例如_.findAllKeys(foo,function(val){returnval;});//yields->["alpha","gamma"]编写一个函数来执行此操作非常简单,但它似乎是findKey的明显概括,我觉得我一定是错过了它。lodash有这样的功能吗? 最佳答案 varfoo={alpha:true,beta:f

javascript - 如何使用 underscore.js 找到数组中对象的索引?

我想使用underscore.js获取数组中给定值的索引。这是我的案例vararray=[{'id':1,'name':'xxx'},{'id':2,'name':'yyy'},{'id':3,'name':'zzz'}];varsearchValue={'id':1,'name':'xxx'};我使用了下面的代码,varindex=_.indexOf(array,function(data){alert(data.toSource());//Fortestingpurposereturndata===searchValue;});这个也试过了varindex=_.indexOf(ar

javascript - 如何合并对象数组中的对象?

我正在寻找将所有对象合并到一个数组中的最佳解决方案constarrayOfObjects=[{name:'Fred',surname:'Shultz'},{name:'Anne',surname:'Example'}];我想实现:{name:['Fred','Anne'],surname:['Example','Shultz']}那个(es6)的最佳选择是什么?也许我可以使用lodash做类似的事情?我应该使用哪些助手? 最佳答案 您可以根据键迭代条目并收集值来减少数组。constarray=[{name:'Fred',surnam

javascript - 使用 Underscore/Lodash 分组和求和

我有这样的JSON:[{platformId:1,payout:15,numOfPeople:4},{platformId:1,payout:12,numOfPeople:3},{platformId:2,payout:6,numOfPeople:5},{platformId:2,payout:10,numOfPeople:1},]我想按platformId以及payout和numOfPeople的总和对其进行分组。即结果我想要这样的JSON:["1":{payout:27,numOfPeople:7},"2":{payout:16,numOfPeople:6}]我尝试使用unders

javascript - underscore.js 的替代品

我正在寻找一个操作对象数组的JavaScript库,主要用于过滤、排序和分组/计数。underscore.js似乎符合要求,但我有兴趣探索其他选项。Underscore有60多个函数,而我只需要少数几个。例如,我希望某些数据表库包含此类功能,但我不知道去哪里找。 最佳答案 我知道这很旧,但你看过lodash了吗??来自网站:Underscore.js的替代品*。[...]自定义构建可以轻松创建仅包含您需要的方法的Lo-Dash轻量级版本。最重要的是,我们为您处理所有方法依赖性和别名映射。

javascript - Typescript lodash 没有默认导出一个函数

我正在尝试从lodash中只导入一个函数,如下所示:importgetfrom'lodash/get';我已经安装了lodash和@types/lodash,但出现了这个错误:@types/lodash/get/index"'hasnodefaultexport.) 最佳答案 您可以在typescript中使用importisEqualfrom'lodash/isEqual';从lodash导入单个函数,并在编译器选项(tsconfig.json)中使用esModuleInterop标志例子{"compilerOptions":{"

javascript - _.assign 仅当属性存在于目标对象中时

我的需要是做类似_.assign的事情,但前提是目标对象已经具有要分配的属性。把它想象成源对象可能有一些属性可以贡献,但也有一些我不想混入的属性。我从来没有使用过_.assign的回调机制,但尝试了以下方法。它“有效”,但它仍然将该属性分配给目标对象(未定义)。我根本不希望它分配。_.assign(options,defaults,initial,function(destVal,sourceVal){returntypeofdestVal=='undefined'?undefined:sourceVal;});我编写了以下函数来执行此操作,但想知道lodash是否已经内置了一些更优雅