Javascript 如何将JSON数组转换为JS?

Javascript 如何将JSON数组转换为JS?,javascript,arrays,json,Javascript,Arrays,Json,从JSON中获取JS对象的最佳语法方式是什么? 我有一个描述表单字段的json文件,我想从中获取只包含name字段值的JS对象,该值等于null。像这样: JSON输入: [ { "name": "firstname", "en": "First Name", "fr": "Prénom", "type": "text" }, { "name": "name", "en": "

从JSON中获取JS对象的最佳语法方式是什么? 我有一个描述表单字段的json文件,我想从中获取只包含name字段值的JS对象,该值等于null。像这样:

JSON输入:

[
    {
        "name": "firstname",
        "en": "First Name",
        "fr": "Prénom",
        "type": "text"
    },
    {
        "name": "name",
        "en": "Last Name",
        "fr": "Nom",
        "type": "text"
    },
    {
        "name": "email",
        "en": "Email",
        "fr": "Email",
        "type": "text"
    },
    {
        "name": "password",
        "en": "Password",
        "fr": "Mot de Passe",
        "type": "password"
    }
]
Js对象结果:

{
    firstname: null,
    name: null,
    email: null,
    password: null
}
有什么建议吗?

使用reduce

var output = arr.reduce( ( a, c ) => ( a[c.name] = null, a ),  {} );
演示

var arr=[{ 姓名:名字, 恩:名字, fr:Prénom, 类型:文本 }, { 姓名:姓名,, 恩:姓, 法兰西:诺姆, 类型:文本 }, { 姓名:email, 恩:电子邮件, fr:电子邮件, 类型:文本 }, { 名称:密码, 密码, fr:Mot de Passe, 类型:密码 } ] var output=arr.reducea,c=>a[c.name]=null,a,{}; console.logoutput 使用reduce

var output = arr.reduce( ( a, c ) => ( a[c.name] = null, a ),  {} );
演示

var arr=[{ 姓名:名字, 恩:名字, fr:Prénom, 类型:文本 }, { 姓名:姓名,, 恩:姓, 法兰西:诺姆, 类型:文本 }, { 姓名:email, 恩:电子邮件, fr:电子邮件, 类型:文本 }, { 名称:密码, 密码, fr:Mot de Passe, 类型:密码 } ] var output=arr.reducea,c=>a[c.name]=null,a,{}; console.logoutput 使用arrayreduce

var data=[{name:firstname,en:First name,fr:Prénom,type:text},{name:name,en:Last name,fr:nom,type:text},{name:email,en:email,fr:email,type:text},{name:password,en:password,fr:Mot de Passe,type:password}], result=data.reducer,{name}=>r[name]=null,r,{}; console.logresult 使用arrayreduce

var data=[{name:firstname,en:First name,fr:Prénom,type:text},{name:name,en:Last name,fr:nom,type:text},{name:email,en:email,fr:email,type:text},{name:password,en:password,fr:Mot de Passe,type:password}], result=data.reducer,{name}=>r[name]=null,r,{}; console.logresult 您可以对属性使用

var数组=[{name:firstname,en:First name,fr:Prénom,type:text},{name:name,en:Last name,fr:nom,type:text},{name:email,en:email,fr:email,type:text},{name:password,en:password,fr:Mot de Passe,type:password}], object=object.assign…array.map{name}=>{[name]:null}; console.logobject 您可以对属性使用

var数组=[{name:firstname,en:First name,fr:Prénom,type:text},{name:name,en:Last name,fr:nom,type:text},{name:email,en:email,fr:email,type:text},{name:password,en:password,fr:Mot de Passe,type:password}], object=object.assign…array.map{name}=>{[name]:null};
console.logobject;定义语法最优的无语法代码?最具可读性?更容易理解和重用?更少的代码是的,我需要在一行中完成这项工作,因为我正在使用一些模块定义语法最优的-更少的代码?最具可读性?更容易理解和重用?代码更少是的,我需要在一行中完成此操作,因为我正在使用某些模块。我无法使其工作,获取错误:箭头函数不应返回赋值错误。。。我相信它来自于eslint是的,但由于eslint,在我的代码中实现它时遇到了一些问题。所以Nina Scholz解决方案更合适。我无法让它工作,得到错误:箭头函数不应该返回赋值错误。。。我相信它来自于eslint是的,但由于eslint,在我的代码中实现它时遇到了一些问题。因此,Nina Scholz解决方案更适合。