Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅显示数组中javascript对象的特定字段并不';行不通_Javascript - Fatal编程技术网

仅显示数组中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
    语句-箭头函数将隐式返回表达式的计算结果
  • ()
    包装
    {}
    ,这样
    {}
    就不会被视为代码块,而是被视为表达式
i、 e

演示

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  }));