替换数组中的嵌套对象

时间:2019-11-13 14:21:20

标签: javascript arrays json object

我有一个名为

的对象

const formValues = {...}

在此对象中,我们有一个数组,该值必须有一个或多个元素,

formValues: { 
    locations: [...];
}

在数组locations内,我们有多个值:字符串和对象。

formValues: { 
    locations: [
        key1: string
        key2: string
        key3: object
        key4: string
        key5: object
        key6: string
        key7: object
    ];
}

如何将key5转换为数组?

我已经尝试过使用lodash的map,但是它不起作用,因为在某个时候它会在key5key5: [[...]])中生成一个双精度数组

const newFormValues = map(formValues, item =>
    map(item, el => ({
      ...el,
      workHours: [el.workHours],
    })),
  );

 const data = {
    data: { locations: flatten(newFormValues) },
    section: 'locations',
    confirm,
  };

预期结果

同一对象

formValues: { 
    locations: [
        key1: string
        key2: string
        key3: object
        key4: string
        key5: **array**
        key6: string
        key7: object
    ];
}

但是 key5 必须是数组而不是对象

1 个答案:

答案 0 :(得分:1)

您可以尝试

Object.entries(the_object)

例如,如果对象是

var theObject = {a: 1, b: 2};
Object.entries(theObject) 

为您提供结果      [[“ a”,1],[“ b”,2]]