Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Object_Vue.js_Ecmascript 6 - Fatal编程技术网

Javascript 使用对象数组展平对象中的数据

Javascript 使用对象数组展平对象中的数据,javascript,arrays,object,vue.js,ecmascript-6,Javascript,Arrays,Object,Vue.js,Ecmascript 6,在我的Vue项目中,我正在对我的Laravel nova后端进行API调用,返回的数据如下 如您所见,数据是一个数组,其中包含一个对象数组。每个数组表示一条记录,而每个对象表示该记录中的一个字段 记录可能有不必要的数据 const data = [ [ { attribute: 'id', value: 1, extra: "not needed data" }, {

在我的Vue项目中,我正在对我的Laravel nova后端进行API调用,返回的数据如下

如您所见,数据是一个数组,其中包含一个对象数组。每个数组表示一条记录,而每个对象表示该记录中的一个字段

记录可能有不必要的数据

const data = [
    [
        {
            attribute: 'id',
            value: 1,
            extra: "not needed data"
        },
        {
            attribute: 'title',
            value: 'The Title',
            extra: "not needed data"
        },
    ],
    [
        {
            attribute: 'id',
            value: 2
        },
        {
            attribute: 'title',
            value: 'The Other Title'
        },
    ],
]
我想知道如何使用Javascript将其变得更简单

const data = [
    {id: 1, title: 'The Title'},
    {id: 2, title: 'The Other Title'}
]
我试过的 我尝试过使用map和filter的组合,但结果都不接近

您可以使用map with reduce,仅使用属性和值构建对象,而忽略所有其他属性:

常数数据=[ [ { 属性:“id”, 价值:1, 额外:不需要数据 }, { 属性:'标题', 值:“标题”, 额外:不需要数据 }, ], [ { 属性:“id”, 价值:2 }, { 属性:'标题', 值:“其他标题” }, ], ]
console.logdata.mapa=>a.reducea,o=>a[o.attribute]=o.value,a,{}您的输入语法无效。你想要的输出也不是,事实上输出语法也是如此,也请发布你尝试过的代码。我注意到它是无效的,但我不知道如何。。我错过了什么?一个对象可以包含数组,对吗?我已经尝试使用映射和过滤器的组合…-您也没有发布此部分是@Notflip,但它的值必须有键。只需将外部大括号更改为方括号[],就可以了!我总是想知道人们怎么会想到这样的事情,我觉得我的大脑无法理解简化或复杂的地图。。谢谢@不用担心,伙计,我才真正开始擅长使用它们。如果您花时间完全理解它是如何工作的,那么它将是一个非常好的数据操作工具。如果你需要更多的帮助,尽管问吧