当前位置: 首页 > 知识库问答 >
问题:

使用lodash将对象转换为数组

樊宏邈
2023-03-14

我怎么能转换一个大的对象数组与洛塔什?

var obj = {
  22: {name:"John", id:22, friends:[5,31,55], works:{books:[], films:[],}
  12: {name:"Ivan", id:12, friends:[2,44,12], works:{books:[], films:[],}
}

// transform to 
var arr = [{name:"John", id:22...},{name:"Ivan", id:12...}]

共有3个答案

那利
2023-03-14
_.toArray(obj);

产出如下:

[
  {
    "name": "Ivan",
    "id": 12,
    "friends": [
      2,
      44,
      12
    ],
    "works": {
      "books": [],
      "films": []
    }
  },
  {
    "name": "John",
    "id": 22,
    "friends": [
      5,
      31,
      55
    ],
    "works": {
      "books": [],
      "films": []
    }
  }
]"
裴昕
2023-03-14

现代本机解决方案,如果有人感兴趣:

const arr = Object.keys(obj).map(key => ({ key, value: obj[key] }));

或(不是IE):

const arr = Object.entries(obj).map(([key, value]) => ({ key, value }));
呼延高超
2023-03-14

你能行

var arr = _.values(obj);

留档见这里。

 类似资料:
  • 问题内容: 转换的最佳方法是什么: 至: 问题答案: ECMAScript 6引入了易于填充的内容: 该方法用于将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 数组的自身属性不会被复制,因为它无法枚举。 另外,您可以使用ES6 传播语法来达到相同的结果:

  • 问题内容: 我的应用程序创建了一个JavaScript对象,如下所示: 但是我需要将此对象作为数组。 因此,我尝试通过遍历该对象并将该元素添加到数组来将该对象转换为数组: 有没有更好的方法将对象转换为数组或函数? 问题答案: 输出:

  • 问题内容: 我做了以下数组: 我想知道如何使用stdClass()将此数组转换为对象,我是PHP初学者,一个简单的示例会非常有帮助,我尝试搜索类似的问题,但是答案很复杂,而且超出了我对基本类和对象的理解。 问题答案: 您只需添加此代码 如果要查看此stdClass对象,只需调用此 如果要将数组转换为目标代码,将 您不需要使用stdClass。它将自动转换为stdClass

  • 问题内容: 转换的最佳方法是什么: 至: 问题答案: ECMAScript 6引入了易于填充的内容: 该方法用于将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 数组的自身属性不会被复制,因为它无法枚举。 另外,您可以使用ES6 传播语法来达到相同的结果:

  • 问题内容: 我碰到SimpleXML对象转换为阵列的这种功能在这里: 因此,我对XML字符串的采用类似于: 它工作得很好,但似乎有点黑吗?有没有更有效/更强大的方法来做到这一点? 我知道SimpleXML对象与数组足够接近,因为它利用了PHP中的ArrayAccess接口,但与多维数组(即循环)一起使用时,仍然不能很好地工作。 谢谢大家的帮助 问题答案: 我在PHP手册注释中找到了这个: 它可以帮

  • 问题内容: 我正在尝试将数组转换为对象,并且我快到了。 这是我的输入数组: 这是我当前的输出对象: 这是我想要的输出对象: 这是我当前的代码: 问题答案: 你不能那样做。 不是有效的JavaScript对象。 javascript中的对象是键值对。看看你的情况如何,然后是冒号,然后是数字?的是,号码是的。 如果执行此操作,则将无法访问属性。 这是Firefox控制台的结果: