大家可以在 www.codefordream.com 练习。
在JS中,尤其对于菜鸟而言,代码都是重复兀杂的,Lo-Dash 等第三方javascript库可以改进我们的编码过程和编码质量。
下面是我们用的比较多的方法
_.map和_.find方法来精简代码:
下面是一个for循环复杂嵌套的例子:(其实完成的功能很简单)
var items = loadAllItems();
for(var i = 0; i < inputs.length;i ++)
{
for(var j = 0; j < item.length; j ++)
{
if(new_inputs.length === 0 && inputs[i].substring(0,10) == item[j].barcode)
{
new_inputs.push(item[j]);
}
}
}//通过遍历inputs和item来将相同的barcode添加到新建的数组new_inputs中
用_.map 和 _.find 精简后代码如下:
var new_inputs = _.map(inputs,function(input)
{//作用相当于遍历inputs
return _.find(items,function(item_tmp)
{//作用相当于遍历item,但find不一定会遍历完整个数组,它会找到第一个符合条件的barcode后停止
return new_inputs.length === 0 && input.substring(0,10) == item_tmp.barcode;
});
});
还有找出数组中不同的项
用传统方法写出:
var a = [1,3,4,5];
var b = [3,4,8];
for(var i = 0; i < a.length; i ++)
{
for(var j = 0; j < b.length; j ++)
{
if(a[i] != b[j])
{
console(a[i] + b[j]);
}
}
}
用_.difference方法代码非常简练
var array = _.difference([1, 3, 4, 5], [3, 4, 8]); console.log(array);
还有_.filter方法,和find方法类似,区别是它会遍历玩整个数组后找到符合条件的元素。
本文介绍如何使用Lo-Dash库中的_.map、_.find和_.difference等方法简化JavaScript编程,提高代码质量和效率。通过具体示例展示了这些方法在数组操作上的应用。
176

被折叠的 条评论
为什么被折叠?



