我如何使用下划线js合并对象数组

用户名

我有一个这样的对象数组:

array1 = [
  {field: 'username', display: 'username', hide: true},
  {field: 'age', display: 'Age', hide: true},
  {field: 'height', display: 'Height', hide: true}
]

然后我有array2:

array2 = [
  {field: 'username', display: 'username 123', hide: false},
  {field: 'age', hide: false}
]

我想通过它们的字段合并这两个数组,即最终结果应该是:

array3 = [
  {field: 'username', display: 'username 123', hide: false},
  {field: 'age', display: 'Age', hide: false},
  {field: 'height', display: 'Height', hide: true}
]

我尝试过,var newObj = _.extend(array1, array2);但没有给我想要的东西。

亚伦·杜福(Aaron Dufour)

没有一项功能可以完成它,因为它是一项相当专业的操作。但是,下划线功能相当简单:

_.values(_.extend(_.indexBy(array1, 'field'), _.indexBy(array2, 'field')))

我们通常使用indexBy将数组转换为键入该field值的对象,然后extend执行所需的操作。最后,values将其变回数组。

请注意,尽管这不能保证顺序,但在当前_和v8实现中,最终数组将是array1后面的东西,array2然后是不在后面的东西,并按array1每个数组的原始顺序排序。

还要注意,该_.extend函数在第一个参数上具有破坏性,而这不会更改任何一个数组。

如果要确保订单与原始订单相同array1

order = _.object(_.map(array1, function(obj, i) { return [obj.field, i]; }))
_.sortBy(_.values(_.extend(_.indexBy(array1, 'field'), _.indexBy(array2, 'field'))), function(obj) { order[obj.field]; })

在这里,我们创建一个位置查询表,然后根据该查询表对原始解决方案进行排序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用下划线合并对象数组

来自分类Dev

使用下划线js或lodash从数组中删除对象

来自分类Dev

组对象数组下划线js

来自分类Dev

我如何使用下划线获取基于对象属性的唯一数组

来自分类Dev

使用下划线从对象创建数组

来自分类Dev

如何使用下划线js从对象数组中查找字符串?

来自分类Dev

如何使用下划线 js 从 2 个对象数组中获取不同的值

来自分类Dev

如何使用下划线js排序JavaScript对象?

来自分类Dev

如何合并两个数组,类似于对象的下划线扩展方法

来自分类Dev

下划线JS嵌套了每个合并对象

来自分类Dev

使用下划线将对象属性合并到一个数组中

来自分类Dev

使用下划线将2个对象的属性值合并到数组中

来自分类Dev

使用下划线将对象属性合并到一个数组中

来自分类Dev

使用下划线js的对象对象两个数组的咖啡脚本的区别

来自分类Dev

下划线JS,查找包含数组中值的对象

来自分类Dev

下划线JS,查找包含数组中值的对象

来自分类Dev

如何使用下划线将数组或对象推入一个数组?

来自分类Dev

使用下划线替换或推送数组中的对象

来自分类Dev

仅使用下划线将数组转换为对象

来自分类Dev

使用下划线减少基于数组的对象项

来自分类Dev

使用下划线js或lodash将对象解析为数组

来自分类Dev

如何使用下划线javascript过滤数组的数组

来自分类Dev

使用下划线分组依据来构造我的数组

来自分类Dev

如何使用下划线根据自定义排序顺序对对象数组进行排序

来自分类Dev

无论使用下划线的大小写如何,都基于属性值过滤对象数组?

来自分类Dev

如何显示带有下划线模板的JS对象?

来自分类Dev

Javascript下划线数组到对象

来自分类Dev

下划线数组到多个对象

来自分类Dev

如何使用下划线根据ID提取对象

Related 相关文章

  1. 1

    用下划线合并对象数组

  2. 2

    使用下划线js或lodash从数组中删除对象

  3. 3

    组对象数组下划线js

  4. 4

    我如何使用下划线获取基于对象属性的唯一数组

  5. 5

    使用下划线从对象创建数组

  6. 6

    如何使用下划线js从对象数组中查找字符串?

  7. 7

    如何使用下划线 js 从 2 个对象数组中获取不同的值

  8. 8

    如何使用下划线js排序JavaScript对象?

  9. 9

    如何合并两个数组,类似于对象的下划线扩展方法

  10. 10

    下划线JS嵌套了每个合并对象

  11. 11

    使用下划线将对象属性合并到一个数组中

  12. 12

    使用下划线将2个对象的属性值合并到数组中

  13. 13

    使用下划线将对象属性合并到一个数组中

  14. 14

    使用下划线js的对象对象两个数组的咖啡脚本的区别

  15. 15

    下划线JS,查找包含数组中值的对象

  16. 16

    下划线JS,查找包含数组中值的对象

  17. 17

    如何使用下划线将数组或对象推入一个数组?

  18. 18

    使用下划线替换或推送数组中的对象

  19. 19

    仅使用下划线将数组转换为对象

  20. 20

    使用下划线减少基于数组的对象项

  21. 21

    使用下划线js或lodash将对象解析为数组

  22. 22

    如何使用下划线javascript过滤数组的数组

  23. 23

    使用下划线分组依据来构造我的数组

  24. 24

    如何使用下划线根据自定义排序顺序对对象数组进行排序

  25. 25

    无论使用下划线的大小写如何,都基于属性值过滤对象数组?

  26. 26

    如何显示带有下划线模板的JS对象?

  27. 27

    Javascript下划线数组到对象

  28. 28

    下划线数组到多个对象

  29. 29

    如何使用下划线根据ID提取对象

热门标签

归档