使用 lodash 将对象转换为数组

2022-08-30 01:24:21

我怎样才能把一个大的 lodash 变成一个 lodash?objectarray

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...}]

答案 1

你可以做

var arr = _.values(obj);

有关文档,请参阅此处。


答案 2

如果有人感兴趣,一个现代的原生解决方案:

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

或(不是 IE):

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