将对象数组转换为字符串数组-lodash

将对象数组转换为字符串数组-lodash,lodash,Lodash,如果我有以下数组: [ { 0:{ id:5, name:'xxx' } }, { 1:{ id:6, name:'yyy' } } ] 我需要把它转换成 ['xxx', 'yyy'] 如何使用Lodash实现这一点?没有Lodash,但可能: var arr = []; x.forEach(function(item, index) { arr.push(item[in

如果我有以下数组:

[
  {
    0:{
       id:5,
       name:'xxx'
      }
  },
  {
    1:{
       id:6,
       name:'yyy'
      }
  }
]
我需要把它转换成

['xxx', 'yyy']
如何使用Lodash实现这一点?

没有Lodash,但可能:

var arr = [];

x.forEach(function(item, index) {
    arr.push(item[index].name)
});
console.log(arr)
这假设对象关键点不断增加,0、1、2…n

没有细节,但可能:

var arr = [];

x.forEach(function(item, index) {
    arr.push(item[index].name)
});
console.log(arr)
假设对象关键点不断增加,0、1、2…n

您可以使用Lodash的方法

var数据=[
{
0:{
id:5,
姓名:'xxx'
}
},
{
1:{
id:6,
名称:'yyy'
}
}
];
var arr=u3;.map(数据,函数(元素,idx){
返回元素[idx]。名称;
});
控制台日志(arr)
您可以使用Lodash的方法

var数据=[
{
0:{
id:5,
姓名:'xxx'
}
},
{
1:{
id:6,
名称:'yyy'
}
}
];
var arr=u3;.map(数据,函数(元素,idx){
返回元素[idx]。名称;
});
控制台日志(arr)

这里有一个解决方案,它利用lodash在提取名称之前提取值:

let data = [
  {
    0:{
       id:5,
       name:'xxx'
      }
  },
  {
    1:{
       id:6,
       name:'yyy'
      }
  }
]

let result = _(data)
    .flatMapDeep(_.values)
    .map('name')
    .value()
编辑 更改映射以为每个项目返回不同的值。e、 g要将id和名称作为键值对返回,可以执行以下操作:

let result = _(data)
    .flatMapDeep(_.values)
    .map( item => ({[item.id]: item.name}) )
    .value()

下面是一个解决方案,它利用lodash在提取名称之前提取值:

let data = [
  {
    0:{
       id:5,
       name:'xxx'
      }
  },
  {
    1:{
       id:6,
       name:'yyy'
      }
  }
]

let result = _(data)
    .flatMapDeep(_.values)
    .map('name')
    .value()
编辑 更改映射以为每个项目返回不同的值。e、 g要将id和名称作为键值对返回,可以执行以下操作:

let result = _(data)
    .flatMapDeep(_.values)
    .map( item => ({[item.id]: item.name}) )
    .value()

现在开始工作,谢谢,如果我需要得到新的数组,但是需要键值组合呢?比如[{5,'xxx'},{6,'yyy'}]?如何实现?添加了一个片段,显示每个项返回的不同值。现在开始工作,谢谢,如果我需要获得新数组,但使用键值组合,该怎么办?比如[{5,'xxx'},{6,'yyy'}]?如何实现这一点?我们添加了一个片段,显示每个项目返回的不同值。