📜  Lodash _.cond() 方法(1)

📅  最后修改于: 2023-12-03 15:02:46.395000             🧑  作者: Mango

Lodash _.cond() 方法

Lodash 是一个 JavaScript 实用工具库,提供一致性、模块化、高性能等特性。其中,_.cond() 方法是 Lodash 库中的一个高阶函数,它通过一组条件和处理函数来创建一个新函数,该函数在输入值满足其中一个条件时,将调用与该条件对应的处理函数来生成对应的结果。

语法

_.cond(pairs)

参数
  • pairs(Array): 条件和对应处理函数的组成的数组
返回值

返回一个新函数,该函数接受一个输入值,满足其中一个条件时,将调用与该条件对应的处理函数来生成对应的结果。

示例

下面的示例说明了如何使用 _.cond() 方法来创建一个更加智能化的函数。

const smartPrice = _.cond([
  [_.isEqual(0), _.constant('Free')],
  [_.overSome([_.inRange(1, 10), _.property('location.city')]), _.constant('$0.99')],
  [_.overSome([_.inRange(10, 100), _.property('location.city')]), _.constant('$9.99')],
  [_.overSome([_.inRange(100, 1000), _.property('location.state')]), _.constant('$50.00')],
  [_.stubTrue, (product) => `$${product.price}`]
]);

smartPrice({ price: 0, location: { city: 'New York' } }); // 'Free'
smartPrice({ price: 7, location: { city: 'San Francisco' } }); // '$0.99'
smartPrice({ price: 80, location: { city: 'Seattle' } }); // '$9.99'
smartPrice({ price: 500, location: { state: 'California' } }); // '$50.00'
smartPrice({ price: 50 }); // '$50'

在上述示例中,我们通过 _.cond() 方法来创建了一个名为 smartPrice 的新函数,并在该函数的定义中,定义了一组条件和对应的处理函数,以来智能判断不同情况下商品的价格,并生成对应的结果。

我们通过执行 smartPrice({ price: 0, location: { city: 'New York' } }) 等语句,来演示我们定义的这个 smartPrice 函数执行的结果。

总结

通过上述的介绍,我们知道 _.cond() 方法是一个对输入数据进行判断的高阶函数,它能够根据一组条件,来作为判断输入数据的依据,然后执行对应的处理函数,生成对应的结果。使用类似的方法,我们能够更加智能化的编写函数,为程序带来更加高效的实现。