Javascript reduce()从多个对象返回字符串数组

Javascript reduce()从多个对象返回字符串数组,javascript,arrays,string,object,reduce,Javascript,Arrays,String,Object,Reduce,我试图使用.reduce()从多个对象返回一个字符串数组。有人能告诉我怎么做吗?我也尝试过使用Object.fromEntries(),但到目前为止运气不好 这是我的代码: let searchList = searchOptions.map((optionList) => Object.entries(optionList).map( ([category, categoryValue]) => {return category === 'illness'

我试图使用.reduce()从多个对象返回一个字符串数组。有人能告诉我怎么做吗?我也尝试过使用Object.fromEntries(),但到目前为止运气不好

这是我的代码:

    let searchList = searchOptions.map((optionList) => Object.entries(optionList).map(
        ([category, categoryValue]) => {return category === 'illness' ? categoryValue.map(illnessList => illnessList.list.map(illness => illness)):
        category === 'products' ? categoryValue.map(product => product.name) : categoryValue.map(doctor => doctor.name.firstName + " " + doctor.name.lastName)
    }))

    console.log('List', searchList)

输入: 这就是我目前正在返回的内容

[
  [
    [
      [
        "Cold",
        "Fever",
        "Hair loss"
      ],
      [
        "Arthrities",
        "Anemia",
        "Sleep problems"
      ],
      [
        "Cancer",
        "Lung disease",
        "Covid"
      ]
    ],
    [
      "Aswagandha powder",
      "Vitamin C suplement"
    ],
    [
      "Aldo Ova",
      "Wendy Sanchez",
      "Alejandra Lopez"
    ]
  ]
]
我需要返回一个数组,其中包含来自对象的所有字符串:

[ "Cold", "Fever", "Hair loss", "Arthrities", "Anemia", "Sleep problems", "Cancer", "Lung disease", "Covid", "Aswagandha powder", "Vitamin C supplement", "Aldo Ova", "Wendy Sanchez","Alejandra Lopez"
]

谢谢大家!

经过大量测试和搜索,我找到了如何在这个双嵌套对象数组中应用reduce()。这是我的最终代码:

    let searchList = searchOptions.map(optionList => Object.entries(optionList).map(([category, categoryValue]) => {
        return (category === 'illness' ? categoryValue.map(illnessList => illnessList.list.map(listArray => listArray)) :
            category === 'products' ? [categoryValue.map(product => product.name)] :
                [categoryValue.map(doctor => `${doctor.name.firstName} ${doctor.name.lastName}`)])
            .reduce((prev, current) => [...prev, ...current], [])
    }).reduce((prev, current) => [...prev, ...current], []))

    searchList = searchList.reduce((prev, current) => [...prev, ...current], [])

    console.log('List', searchList)
结果:

[
  "Cold",
  "Fever",
  "Hair loss",
  "Arthrities",
  "Anemia",
  "Sleep problems",
  "Cancer",
  "Lung disease",
  "Covid",
  "Aswagandha powder",
  "Vitamin C suplement",
  "Aldo Ova",
  "Wendy Sanchez",
  "Alejandra Lopez"
]

这将有助于发布输入和预期输出的示例。请将数据显示为文本,而不是文本的图片。您可以使用
console.log(JSON.stringify(searchList,null,2))
获得适合粘贴的数据的美观表示。@pilchard,我更新了问题。希望它更清晰now@HereticMonkey谢谢你的提示!