Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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_Javascript Objects - Fatal编程技术网

Javascript 如何处理这些数据?

Javascript 如何处理这些数据?,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我试图在一个对象数组中获取一个特定的对象 var arr = [ { id: "asd" description: "V1", output: [{type: "A", id:"ge"}] }, { id: "qwe" description: "V2", output:

我试图在一个对象数组中获取一个特定的对象

var arr = [
           {
             id: "asd"
             description: "V1", 
             output: [{type: "A", id:"ge"}]
           },
           {
             id: "qwe"
             description: "V2", 
             output: [{type: "B", id:"de"}]
           }
          ];

console.log(arr.description);

所需的输出将是:

 {
    { description: "V1", output: {type: "A", id: "ge"}},
    { description: "V2", output: {type: "B", id: "de"}}
 }
我还想把一个对象的“输出”数组转换成一个和输出一样的对象。如何做到这一点

请在此帮助我

您想要的输出不是有效的JSON语法开头

假设输出仅包含长度为1的数组。你可以做:

    for (var i = 0; i < arr.length; i++) {
        arr[i]['output'] = arr[i]['output'][0];
    }

这将从原始数组中删除数组符号。

要获取删除外部数组的所有项目,可以执行以下操作:

var arr=[ { id:asd, 说明:V1, 输出:[{type:A,id:ge}] }, { id:qwe, 说明:V2, 输出:[{type:B,id:de}] } ]; 对于arr的let项目{ console.logitem;
} 首先遍历数组,然后遍历输出值中的数组。请注意,我选择使用从原始输出对象复制来避免突变:

var arr=[{ id:asd, 说明:V1, 输出:[{ 类型:A, id:ge }] }, { id:qwe, 说明:V2, 输出:[{ 类型:B, id:de }] } ]; 常量objArr=[]; arr.forEachobj=>{ obj['output'].forEachobj=>{ objArr.push{…obj}; }; };
console.logobjar 首先,数组语法中有一个小错误。 最重要的是:

var arr = [
       {
         id: "asd",
         description: "V1", 
         output: [{type: "A", id:"ge"}]
       },
       {
         id: "qwe",
         description: "V2", 
         output: [{type: "B", id:"de"}]
       }
      ];
如果您只想记录它,您可以使用:

arr.forEach(function(item){console.log(item.description)})
此代码: 对于arr数组中的每个对象,请执行以下操作: 将该对象的名称设置为item 最后在项目中记录描述

您可以以其他形式使用此代码


祝你好运

数组被索引,你需要像这样访问它们arr[0]会给你{id:asd,description:V1,output:{type:A,id ge}}}我不能100%确定所需的输出格式是否正确'。您可以指定所需的输出应该是什么。你到底想实现什么,你认为上面的输出将如何帮助你实现它?所以你什么也没试过,你的想法都没有了。arr和output是数组,你必须使用下标来访问它们的元素:arr[0]是第一个对象,arr[1]是第二个对象。arr[0]。输出是arr中第一个对象的输出数组,arr[0]。输出[0]。类型是arr中第一个对象的输出中第一个对象的类型,…@wilomGfx-我没有得到输出。是否可以删除item.output值的数组表示法?您可以对其调用toString,或者像我对外部数组那样对其进行循环,或者使用输出[0]对其进行索引
arr.forEach(function(item){console.log(item.description)})