gpt4 book ai didi

javascript - 如何从 React Native 中的两个数组中提取不相同的元素?

转载 作者:行者123 更新时间:2023-11-30 14:02:19 25 4
gpt4 key购买 nike

让,我有两个带字符串的数组。

let a = ["ABC", "DEF"]
let b = ["ABC", "DEF", "GHI"]

我想比较上面的两个数组并创建一个名为 c 的新数组,其中包含以下内容。

c = ["GHI"]

所以,我想比较 a 和 b 数组并将不相同的元素放入一个新数组中。

如何在 React Native 中做到这一点?

最佳答案

您可以按照以下步骤进行操作:

  • 先获取ab中不存在的那些元素
  • 然后获取b中那些不在a中的元素
  • 然后 concat() 两个数组。

let a = ["ABC", "DEF"]
let b = ["ABC", "DEF", "GHI"]

const res = a.filter(x => !b.includes(x)).concat(b.filter(x=> !a.includes(x)))
console.log(res)

代码是如何工作的

考虑这条线

a.filter(x => !b.includes(x))

filter() 是接受回调的数组方法。如果回调返回 true,则该元素将被添加到结果数组中,否则不会。

所以现在在上面的代码中 x 是数组 b 的元素,我们正在迭代它。 b.includes(x) 将返回 true 如果 x 存在于数组 b 中,否则 false.

! 运算符将 true 转换为 false,反之亦然

因此,如果 x 位于 b 内,它将返回 true。所以通过 ! 它将变为 false 并且 false 将从回调中返回。因此元素 x 不会包含在 result/filtered 数组中。

上一行的句子是“它只获取数组a中不存在于b中的那些项”/p>

第二行

b.filter(x=> !a.includes(x))

获取 b 中不在 a 中的那些元素。

Atlast concat() 用于连接两个数组。

关于javascript - 如何从 React Native 中的两个数组中提取不相同的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56123635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com