仅显示数组中javascript对象的特定字段并不';行不通
我试图显示对象内部特定字段和值的特定系列,但它不起作用仅显示数组中javascript对象的特定字段并不';行不通,javascript,Javascript,我试图显示对象内部特定字段和值的特定系列,但它不起作用 var objArray = [ {id:1, photo:true, bol: true }, {id:2, photo: true, bol:true} ]; result = objArray.map((item) => return {id: item.id, photo: item.photo }) // this doesn't work.. why?? 预期产量 [ {id:1, photo:tru
var objArray = [
{id:1, photo:true, bol: true }, {id:2, photo: true, bol:true}
];
result = objArray.map((item) => return {id: item.id, photo: item.photo
}) // this doesn't work.. why??
预期产量
[
{id:1, photo:true}, {id:2, photo: true}
]
你需要做两个改变
- Remove
语句-箭头函数将隐式返回表达式的计算结果return
- 用
包装()
,这样{}
就不会被视为代码块,而是被视为表达式{}
var objArray=[{
id:1,
照片:没错,
波尔:是的
}, {
id:2,
照片:没错,
波尔:是的
}];
var result=objArray.map((项)=>({
id:item.id,
照片:item.photo
}));
控制台日志(结果)代码>创建临时对象
遍历对象,若键不是“bol”,则将其推送到临时对象
最后返回临时对象
var objArray=[
{id:1,photo:true,bol:true},{id:2,photo:true,bol:true}
];
结果=objArray.map((项)=>{
设tempObj={}
Object.keys(item).map((key)=>{
如果(键!=“bol”){
tempObj[key]=项[key]
}
})
返回tempObj;
})
console.log(结果)
谢谢!!:)greatUm我可以初始化项目的值吗?例如,,,map((item)=>let{id,photo}=item;return({id,photo});只是想:)哇,我从来没有见过像{key,key1}=item这样的表达式;谢谢…@JohnBaek我的坏,我刚才的表达不起作用。不过你可以试试这个
objArray.map((item) => ({id: item.id, photo: item.photo }));