首页 > 解决方案 > 如何从嵌套数组 JavaScript/React 返回数组

问题描述

我试图从下面获取单个标签的列表,但我一直不确定。我究竟做错了什么?

initialState = [{name: "John",tags: ["primary", "secondary"]}, {name: "Mark",tags: ["primary"]}];

let tags = initialState.forEach((el) => {
  if (el.tags) {
    el.tags.map((tag) => {
      return tag;
    }, []);
  }
})
console.log(tags);

预期结果

tags = ["primary","secondary","primary"]

标签: javascriptarraylist

解决方案


.forEach不返回数组。要获取一个列表中的所有标签,可以使用.flatMap如下:

const initialState = [
  { name: "John", tags: ["primary", "secondary"] },
  { name: "Mark", tags:["primary"] }
];

const tags = initialState.flatMap(({ tags = [] }) => tags);   

console.log(tags);


推荐阅读