【问题标题】:Using _.some in lodash在 lodash 中使用 _.some
【发布时间】:2019-06-23 16:55:03
【问题描述】:

我有 Typescript 代码,如果 1 个数组中的任何项目存在于另一个数组中,我想返回 true。我是 lodash 的新手,但我希望使用 _.some 来做到这一点。我不确定这是否是正确的方法。下面的代码返回 false,但我希望它返回 true。

let array1 = ["test", "some", "lodash"];
let array2 = ["some", "includes"];

let condition : boolean = _.some(array1, array2);

【问题讨论】:

  • 没有 lodash 你可以使用let condition : boolean = array1.some(e => array2.includes(e));来做到这一点

标签: arrays typescript lodash


【解决方案1】:

您可以使用intersection 函数并检查它是否返回任何项目:

let condition : boolean = _.intersection(array1, array2).length > 0;

使用some,您必须将测试回调作为第二个参数传递:

let condition : boolean = _.some(array1, item => array2.includes(item))

【讨论】:

  • 如果我们需要检查数组 1 中存在的数组 2 的所有项怎么办?
【解决方案2】:

在普通的 javascript 有相同的方法之前,lodash 很酷......

let array1 = ["test", "some", "lodash"];
let array2 = ["some", "includes"];

let test = array1.some(e => array2.includes(e));

console.log(test);

【讨论】:

  • _.some 用于对象,而 javascript .some 用于数组
猜你喜欢
  • 2017-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-09
  • 2021-03-16
  • 1970-01-01
相关资源
最近更新 更多