isEmpty()不能校验函数,日期,正则表达式,错误对象,Symbol等类型。这些类型的值都不会被认为是空的。例如: 代码语言:javascript 复制 _.isEmpty(function(){});// => false_.isEmpty(newDate());// => false_.isEmpty(/abc/);// => false_.isEmpty(newError());// => false_.isEmpty(Symbol('f...
然后就出事了,上线后发现有 BUG ,定位问题之后,发现就是明明对象不为空,然后isEmpty还是把这个对象判为空了,然后去执行了接下来的逻辑,导致出现 BUG 然后我就去看了一下 isEmpty的源码,总算是发现问题了! 可以看到最后一个环节,isEmpty 在判断对象是否为空的时候,用了for in + hasOwnProperty去判断某一个属性...
类似的,map(映射)和set 的size 为 0,被认为是空。 核心源码: functionisEmpty(value) {if(value ==null) {returntrue; }if(isArrayLike(value) && (isArray(value) ||typeofvalue =='string'||typeofvalue.splice=='function'||isBuffer(value) ||isTypedArray(value) ||isArguments(value))) {return...
get(log[0],'value.name') 优点:当log[0]为null时,普通方法会报错,lodash方法会返回空,lodash更安全 get(log[0],'value.name','') 第三个参数还可以设置默认值 2.isEmpty判断是否为空对象 _.isEmpty({'a':1}); 3.pick创建一个从该对象选中属性组成的对象 varobject= {'a':1,'b':'2','c':...
要在使用lodash时仅当元素为空时将元素添加到数组中,你可以使用_.isEmpty()函数来检查元素是否为空 代码语言:javascript 复制 const _ = require('lodash'); const array = [1, 2, 3]; const elementToAdd = ''; // 这个元素为空 if (_.isEmpty(elementToAdd)) { array.push(elementToAdd);...
18. 19. 20. 10、检验值是否为空 _.isEmpty() _.isEmpty(null); // => true _.isEmpty(true); // => true _.isEmpty(1); // => true _.isEmpty([1,2,3]); // => false
一、lodash源码 1.基础函数 isFlattenable.js // isFlattenable.jsimportisArgumentsfrom'../isArguments.js'// 检查 value 是否是一个类 arguments 对象,在本篇不予讲解。// ES6中内置属性,可用于判断数组是否可展开. 具体可见 MDNconstspreadableSymbol=Symbol.isConcatSpreadable;/*value[Symbol.isConcatSpreadable...
(value)===arrayClass||false;}functionisFunction(value){returntypeofvalue==='function';}functionisEmpty(value){if(!value)returnfalse;constlength=value.length;constclassName=Object.prototype.toString.call(value);if(className===arrayClass||className===stringClass||className===numberClass){return!
isEmpty({ 'a': 1 }); // => false 11、查找属性 _.find()、_.filter()、_.reject() var users = [ {'user': 'barney', 'age': 36, 'active': true}, {'user': 'fred', 'age': 40, 'active': false}, {'user': 'pebbles', 'age': 1, 'active': true} ]; console.log...
现在我写代码快10年了,依然没用过lodash,对我的工作产出没有任何影响。我记得一次很尴尬的经历,我...