通过对象列表将ID数组映射到字符串数组

哔叽
var myIds = [3, 4, 2];

var myObj = [
    {id:1, name:'one'}, 
    {id:2, name:'two'},
    {id:3, name:'tree'},
    {id:4, name:'four'}];

// need to obtain ['tree', 'four', 'two']

var idsToNames= function(ids, objects) {
    var myNames = myIds.map(function(id){
        // transform id to name
        foreach(o in objects){
            if (i.id == id) 
                return o.name;
        }
    });
    return myNames;
}

这是将id数组转换为name数组的最佳方法吗?

四人

首先像这样转换对象

var newMyObj = myObj.reduce(function(result, currentObject) {
  result[currentObject.id] = currentObject.name;
  return result;
}, {});

console.log(newMyObj);
// { '1': 'one', '2': 'two', '3': 'three', '4': 'four' }

实际上,你可以创建newMyObj通过遍历数组myObj,这样也

var newMyObj = {};
for (var i = 0; i < myObj.length; i += 1) {
  newMyObj[myObj[i].id] = myObj[i].name;
}

现在,您可以像这样简单地迭代myIds并选择的值newMyObj

console.log(myIds.map(function(id) { return newMyObj[id]; }));
// [ 'three', 'four', 'two' ]

如果您的环境支持ECMAScript 2015的Arrow函数,则可以简写为

console.log(myIds.map((id) => newMyObj[id]));
// [ 'three', 'four', 'two' ]

通过将原始图像转换为原始图像myObjnewMyObj您将获得恒定的时间查找。否则,您必须myObj为中的每个元素迭代数组,myIds并且运行时复杂度将变为O(n * m)。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用AutoMapper将字符串数组映射到对象

来自分类Dev

使用ValueInjecter将字符串数组映射到对象

来自分类Dev

Ruby:将字符串数组映射到数组数组

来自分类Dev

将字符串数组映射到整数数组

来自分类Dev

将字典映射到数组到字符串

来自分类Dev

将 object.keys 从对象数组映射到字符串

来自分类Dev

将字符串数组映射到 JavaScript 中的 json 对象

来自分类Dev

如何键入映射到对象的字符串数组,其中键及其值是数组值

来自分类Dev

根据其他数组值将字符串映射到数组的最佳方法

来自分类Dev

Dataweave-将多个字符串数组映射到单个数组

来自分类Dev

Angular:将字符串数组映射到 http get 调用中的枚举值数组

来自分类Dev

通过某个键将<Long, List<String>> 映射到字符串 Lambda 列表

来自分类Dev

通过拆分字符串将字符串数组转换为对象数组

来自分类Dev

使用Dapper将具有表示列表的字符串的列映射到List <>对象

来自分类Dev

如何在Swift中保存将字符串映射到Int或String的JSON字典数组?

来自分类Dev

使用Jackson将JSON字符串数组映射到List <String>

来自分类Dev

Kotlin将&减少字符串数组映射到Map <String,Any!>

来自分类Dev

一致地将字符串映射到数组索引(哈希函数)

来自分类Dev

使用Jackson将JSON字符串数组映射到List <String>

来自分类Dev

Kotlin将&减少字符串数组映射到Map <String,Any!>

来自分类Dev

将数组映射到对象数组

来自分类Dev

Javascript将字符串转换为对象(列表/数组)

来自分类Dev

RestTemplate将JSON数组映射到对象列表

来自分类Dev

将字符串映射到列表球拍

来自分类Dev

将字符串格式映射到数字列表

来自分类Dev

将字符串映射到列表球拍

来自分类Dev

AutoMapper-将字符串映射到同名对象

来自分类Dev

将 Json 字符串映射到多个对象

来自分类Dev

将包含字符串数组的Gremlin结果映射到包含简单字符串属性的C#类

Related 相关文章

  1. 1

    使用AutoMapper将字符串数组映射到对象

  2. 2

    使用ValueInjecter将字符串数组映射到对象

  3. 3

    Ruby:将字符串数组映射到数组数组

  4. 4

    将字符串数组映射到整数数组

  5. 5

    将字典映射到数组到字符串

  6. 6

    将 object.keys 从对象数组映射到字符串

  7. 7

    将字符串数组映射到 JavaScript 中的 json 对象

  8. 8

    如何键入映射到对象的字符串数组,其中键及其值是数组值

  9. 9

    根据其他数组值将字符串映射到数组的最佳方法

  10. 10

    Dataweave-将多个字符串数组映射到单个数组

  11. 11

    Angular:将字符串数组映射到 http get 调用中的枚举值数组

  12. 12

    通过某个键将<Long, List<String>> 映射到字符串 Lambda 列表

  13. 13

    通过拆分字符串将字符串数组转换为对象数组

  14. 14

    使用Dapper将具有表示列表的字符串的列映射到List <>对象

  15. 15

    如何在Swift中保存将字符串映射到Int或String的JSON字典数组?

  16. 16

    使用Jackson将JSON字符串数组映射到List <String>

  17. 17

    Kotlin将&减少字符串数组映射到Map <String,Any!>

  18. 18

    一致地将字符串映射到数组索引(哈希函数)

  19. 19

    使用Jackson将JSON字符串数组映射到List <String>

  20. 20

    Kotlin将&减少字符串数组映射到Map <String,Any!>

  21. 21

    将数组映射到对象数组

  22. 22

    Javascript将字符串转换为对象(列表/数组)

  23. 23

    RestTemplate将JSON数组映射到对象列表

  24. 24

    将字符串映射到列表球拍

  25. 25

    将字符串格式映射到数字列表

  26. 26

    将字符串映射到列表球拍

  27. 27

    AutoMapper-将字符串映射到同名对象

  28. 28

    将 Json 字符串映射到多个对象

  29. 29

    将包含字符串数组的Gremlin结果映射到包含简单字符串属性的C#类

热门标签

归档