Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中以更优雅的方式实现此数组映射?_Javascript_Arrays_Ecmascript 6_Ecmascript 5 - Fatal编程技术网

如何在Javascript中以更优雅的方式实现此数组映射?

如何在Javascript中以更优雅的方式实现此数组映射?,javascript,arrays,ecmascript-6,ecmascript-5,Javascript,Arrays,Ecmascript 6,Ecmascript 5,我试图从主数组的所有对象中获取类别数组,并将它们合并到一个数组中 const allItems = res.map((item) => item.categories)[0] 怎样才能正确地完成呢?那么,为什么要映射所有项目,而只获取第一个项目呢 你可以: const res=[ {类别:“a”}, {类别:“b”}, {类别:“c”}, ]; const categories=res[0]。类别; 控制台日志(类别)我认为您正在尝试将类别数组的所有元素放入同一个数组(一开始是一个对象

我试图从主数组的所有对象中获取类别数组,并将它们合并到一个数组中

const allItems = res.map((item) => item.categories)[0]

怎样才能正确地完成呢?

那么,为什么要映射所有项目,而只获取第一个项目呢

你可以:

const res=[
{类别:“a”},
{类别:“b”},
{类别:“c”},
];
const categories=res[0]。类别;

控制台日志(类别)
我认为您正在尝试将
类别
数组的所有元素放入同一个数组(一开始是一个对象数组)

既然你没有写任何代码,我想
allItems
是这样的:

var allItems = [
    { 
        one: "a",
        categories: ["cat1", "cat2", "cat3"]
    },
    { 
        two: "b",
        categories: ["cat4", "cat5", "cat6"]
    },
    {
        three: "c",
        categories: ["cat7", "cat8", "cat9"]
    }
]
使用

使
所有项目
填充
项目的所有元素。类别

["cat1", "cat2", "cat3", "cat4", "cat5", "cat6", "cat7", "cat8", "cat9"]

这只是拉取了
res[0]。类别
,对吗?正如georg所说,尽管你可以分解
const[{categories}]=res因为您有工作代码,所以这个问题更适合您。然而,奇怪的是,当您只对第一个数组元素的值感兴趣时,却使用映射器。您应该首先描述您的数组以及单个对象是如何生成的。这与您所问的问题截然不同。如果需要准确的帮助,您需要提供更多详细信息,包括输入和预期输出。@pilchard tnx!固定的
["cat1", "cat2", "cat3", "cat4", "cat5", "cat6", "cat7", "cat8", "cat9"]