javascript - 使用 lodash 比较 2 个数组

标签 javascript lodash

我有 2 个相似元素的数组,但排列顺序不同。 我有一个源变量,它是根据键 src 以及 arr1 和源文件的 arr1 排列的。 现在我想根据arr2排列目标变量。 您能否告诉我如何使用 lodash 来完成任务?

arr1 = [{x:0,y:1,src:a1},{x:1,y:1,src:b1},{x:2,y:1,src:c1}]

arr2 = [{x:1,y:1,src:b1},{x:1,y:1,src:a1},{x:1,y:1,src:c1}]

source = [{file:a1},{file:b1},{file:c1}]
Destination = [{file:b1},{file:a1},{file:c1}]

最佳答案

您可以使用 lodash 的 map 例程来实现此目的:

let source = [{
  x: 1,
  y: 1,
  src: 'b1'
}, {
  x: 1,
  y: 1,
  src: 'a1'
}, {
  x: 1,
  y: 1,
  src: 'c1'
}]

let destination = _.map(source, value => {
    return { file: value['src']}
})

请参阅此处 example .

另请注意,您可以使用标准 JavaScript map 来实现此目的功能。

关于javascript - 使用 lodash 比较 2 个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48725956/

相关文章:

javascript - 比较多个 JS 数组的值

javascript - 如何通过不同数组中的值来命名数组中的值?

javascript - 用于删除与主数组匹配的数组的任何 lodash 函数

javascript - 调整 Base64 图像大小在 Firefox 中不起作用

javascript - 隐藏内容时使div跳动更平滑

javascript - 将函数参数值传递给该函数内部的函数

javascript - MatterJS 移除对象函数

javascript - Mapbox.js - 单击列表中的项目并平移到标记并显示弹出窗口

javascript - 下划线/lodash 模板上的事件绑定(bind)

javascript - 在 lodash 中改变数组的联合