Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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 映射一个json文件以获得一个数组,其中只包含我需要的值_Javascript_Reactjs_Typescript - Fatal编程技术网

Javascript 映射一个json文件以获得一个数组,其中只包含我需要的值

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"

我有一个相对较大的json文件,希望通过它进行映射,只获取名称​​id为1的。我用的是React-typescipt。有人能帮我吗?

你只需打电话:

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是字符串格式的。上帝保佑您