【问题标题】:What are the advantages to using the various shorthand methods in lodash在lodash中使用各种速记方法有什么好处
【发布时间】:2016-11-22 20:22:36
【问题描述】:

假设我有一组人员对象,我想使用 lodash 来查找名为“Joe”的对象。 我可以使用_.matches iteratee 速记来做到这一点:

const joe = _.find(persons, {name: 'Joe'});

我可以使用 _.matchesProperty iteratee 速记来做到这一点:

const joe = _.find(persons, ['name', 'Joe']);

使用这些方法(或其他方法)的优点是什么?

【问题讨论】:

  • persons.find(v => v.name === 'Joe')
  • 虽然我没有投反对票,但它引出了一个问题“定义'更好'”
  • @Chris - 这就是原因所在。我希望人们能够推理出他们的偏好,以便我做出决定。
  • @zerkms Array.prototype.find 作为 ECMAScript 的新增功能,并非所有浏览器(例如 IE)都支持。这就是使用 lodash 的原因之一。 developer.mozilla.org/en/docs/Web/JavaScript/Reference/…
  • @splintor 我理解,但它不适合 SO 格式,除非我们能够更好地量化“更好”的含义。换句话说,如果下面有 3 个人回答,如果这只是一个偏好,我应该投票支持哪一个?我会说要么将问题重新定义为“使用匹配速记有任何性能优势吗?”甚至,“在 lodash 中使用各种速记方法有什么好处?”——然后我们可以提出一个由比较组成的综合答案,而不是“我喜欢这个,因为 x”

标签: javascript lodash


【解决方案1】:

我认为没有更好的变体。输入数据的几种变体便于链接,无需额外的数据突变。我总是用这个变种

const joe = _.find(persons, {name: 'Joe'});

更新

像速记这样的数组的优点 - 它对于通过嵌套对象查找很有用

const joe = _.find(persons, ['transaction.user.name', 'Joe']);

【讨论】:

    猜你喜欢
    • 2020-10-20
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多