Javascript 映射一个json文件以获得一个数组,其中只包含我需要的值
我有一个相对较大的json文件,希望通过它进行映射,只获取名称id为1的。我用的是React-typescipt。有人能帮我吗?你只需打电话:Javascript 映射一个json文件以获得一个数组,其中只包含我需要的值,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,我有一个相对较大的json文件,希望通过它进行映射,只获取名称id为1的。我用的是React-typescipt。有人能帮我吗?你只需打电话: data.filter(x=>x.id=='1').map(x=>x.name) 这将返回: [“卡尔”、“卡拉”] 为什么映射而不过滤?: var data = [ { "id": "1", "name": "Carl"
data.filter(x=>x.id=='1').map(x=>x.name)
这将返回:
[“卡尔”、“卡拉”]
为什么映射而不过滤?:
var data = [
{
"id": "1",
"name": "Carl",
},
{
"id": "1",
"name": "Carlaa",
},
{
"id": "2",
"name": "tim",
},
{
"id": "5",
"name": "daniel",
},];
console.log(data.filter((d) => d.id == "1"));
第二位:
f = (id) => data.filter((x) => x.id === id).map((x) => x.name )
console.log(f("1"));
您是否尝试过
const A=data.filter(el=>el.id=='1').map(el=>el.name)
?@DanielRg您可以像interface User{id:string;name:string;}
那样定义类型,但是如果我是dooint,则导出const函数=(id:string)=>{data.filter((x)=>x.id==id==id).map((x)=>x.name)然后在app.js onsole.log(函数(1))中,我得到了undefined}@DanielRg如果你把{}
放在箭头函数体周围,你需要显式返回。只需删除周围的{}
即可。但是,如果我是导出const函数=(id:string)=>{data.filter((x)=>x.id==id.map((x)=>x.name),然后在app.js onsole.log(函数(1))中,我得到了未定义的},您需要删除花括号或添加return关键字。返回仅在没有大括号的情况下暗示。此外,我不会重写“Function”,它是一个核心类,您应该传入一个字符串,因为您的ID是字符串格式的。上帝保佑您