javascript无法映射具有嵌套值的对象数组

javascript无法映射具有嵌套值的对象数组,javascript,arrays,typescript,mapping,javascript-objects,Javascript,Arrays,Typescript,Mapping,Javascript Objects,尝试映射具有嵌套在子对象结构中的值的对象数组,如: const objs = [{ "B": { "value": 1, }, "D": { "value": "45" }, "E": { "value": "234" }, "A": { "value": "543" },

尝试映射具有嵌套在子对象结构中的值的对象数组,如:

const objs = [{
        "B": {
            "value": 1,
        },
        "D": {
            "value": "45"
        },
        "E": {
            "value": "234"
        },
        "A": {
            "value": "543"
        },
        "C": {
            "value": "250"
        }
    },...]
[
  { name: 'B', value: 1 }, 
  { name: 'D', value: '45' }, 
  { name: 'E', value: '234' }, 
  { name: 'A', value: '543' },
  { name: 'C', value: '250' }
]
对于结构,如下所示:

const objs = [{
        "B": {
            "value": 1,
        },
        "D": {
            "value": "45"
        },
        "E": {
            "value": "234"
        },
        "A": {
            "value": "543"
        },
        "C": {
            "value": "250"
        }
    },...]
[
  { name: 'B', value: 1 }, 
  { name: 'D', value: '45' }, 
  { name: 'E', value: '234' }, 
  { name: 'A', value: '543' },
  { name: 'C', value: '250' }
]
映射的结果是未定义的

示例:

Object.keys中缺少return。也可以使用Object.entries而不是Object.keys来获取键和值

常量objs=[{ B:{ 价值:1, }, D:{ 价值:45 }, E:{ 价值:234 }, A:{ 价值:543 }, C:{ 价值:250 } }]; const-mapped=objs.mapkey,\ujs=>{ return Object.entrieskey.map[名称{ 价值 }] => { 名称 价值 } }.平坦; console.logmapped Object.keys中缺少return。也可以使用Object.entries而不是Object.keys来获取键和值

常量objs=[{ B:{ 价值:1, }, D:{ 价值:45 }, E:{ 价值:234 }, A:{ 价值:543 }, C:{ 价值:250 } }]; const-mapped=objs.mapkey,\ujs=>{ return Object.entrieskey.map[名称{ 价值 }] => { 名称 价值 } }.平坦; console.logmapped 缺少返回语句和值属性定义

此外,为了避免结果中出现嵌套数组,您可能希望使用而不是:

常量objs=[{ B:{ 价值:1, }, D:{ 价值:45 }, E:{ 价值:234 }, A:{ 价值:543 }, C:{ 价值:250 } }] const mapped=objs.flatmappkey,索引=>{ return Object.keyskey.mapel=>{ 姓名:el, 值:键[el]。值 } } 您缺少返回语句和值属性定义

此外,为了避免结果中出现嵌套数组,您可能希望使用而不是:

常量objs=[{ B:{ 价值:1, }, D:{ 价值:45 }, E:{ 价值:234 }, A:{ 价值:543 }, C:{ 价值:250 } }] const mapped=objs.flatmappkey,索引=>{ return Object.keyskey.mapel=>{ 姓名:el, 值:键[el]。值 } }
logmapped您应该操作objs[0],而不是objs,因为它是一个对象数组,而不是对象数组

let array = []
for(let object in objs[0]){
array.push({
"name": object,
"value": objs[0][object].value
})
}

您应该在objs[0]上操作,而不是objs,因为它是一个对象数组,而不是对象数组

let array = []
for(let object in objs[0]){
array.push({
"name": object,
"value": objs[0][object].value
})
}

缺少return。缺少return。很好的例子。有没有一种方法可以像示例中那样在迭代过程中保持元素的顺序?谢谢!结果中对象的顺序是否与关键点的顺序不同?在我这方面,它似乎是相同的B,D,E,A,C。很好的例子。有没有一种方法可以像示例中那样在迭代过程中保持元素的顺序?谢谢!结果中对象的顺序是否与关键点的顺序不同?在我这方面,它似乎是相同的B,D,E,A,C。我的错误,我没有添加整个数据结构只有三个点,有像stackblitz示例中那样的对象数组。我的错误,我没有添加整个数据结构只有三个点,有像stackblitz示例中那样的对象数组。