将对象数组转换为字符串数组-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'}]?如何实现这一点?我们添加了一个片段,显示每个项目返回的不同值。