从对象属性创建动态嵌套数组对象

问题描述 投票:0回答:1

我有一个这样的对象:

"params": {
    "name": "Alexa",
    "lastName": "Simpson",
    "city": "London"
  }

这是我需要实现的请求:https://developers.google.com/docs/api/reference/rest/v1/documents/batchUpdate

我想创建一个对象数组并将对象的键传递给“text”的值。例如,“name”动态地转到 {{text1}},“Alexa”动态地转到“replaceText1”。

{
  "requests": [
    {
      "replaceAllText": {
        "containsText": {
          "text": "{{text1}}",
          "matchCase": "true"
        },
        "replaceText": "replaceText1"
      }
    },
    {
      "replaceAllText": {
        "containsText": {
          "text": "{{value2}}",
          "matchCase": "true"
        },
        "replaceText": "replaceText2"
      }
    }
    
  ]
}
javascript arrays json javascript-objects
1个回答
0
投票

您可以

map
Object.entries
obj.param
为每个键/值对创建一个请求对象,然后将其作为值放入键为
requests
的对象中:

const obj = {
  "params": {
    "name": "Alexa",
    "lastName": "Simpson",
    "city": "London"
  }
}

const req = {
  "requests": Object.entries(obj.params).map(([text, value]) =>
    ({
      "replaceAllText": {
        "containsText": {
          "text": text,
          "matchCase": "true"
        },
        "replaceText": value
      }
    }))
}

console.log(req)

© www.soinside.com 2019 - 2024. All rights reserved.