Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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_Reactjs_Multidimensional Array - Fatal编程技术网

Javascript 连接一个数组(?)或在其上循环?

Javascript 连接一个数组(?)或在其上循环?,javascript,arrays,reactjs,multidimensional-array,Javascript,Arrays,Reactjs,Multidimensional Array,求救!我正在尝试对数组进行concat(?)或循环,但问题似乎在于它们是如何嵌套的,任何关于如何一次对这些数组进行concat或循环的解决方案都将非常有用! 主数组有5个索引,但每个索引本身就是一个包含20个索引的数组 我刚找到一篇关于flat()的文章,但我还是没有把它写出来 这里有更多信息:我从tmdb API获取信息,它只提供20篇文章,所以我花了5次时间在我的状态中添加100篇文章。但结果是一个凌乱的嵌套对象,我希望将其展平为一个干净的数组: const fetchLoop = asyn

求救!我正在尝试对数组进行concat(?)或循环,但问题似乎在于它们是如何嵌套的,任何关于如何一次对这些数组进行concat或循环的解决方案都将非常有用! 主数组有5个索引,但每个索引本身就是一个包含20个索引的数组

我刚找到一篇关于flat()的文章,但我还是没有把它写出来

这里有更多信息:我从tmdb API获取信息,它只提供20篇文章,所以我花了5次时间在我的状态中添加100篇文章。但结果是一个凌乱的嵌套对象,我希望将其展平为一个干净的数组:

const fetchLoop = async(page)=> {

const URL = `https://api.themoviedb.org/3/movie/${type}? 
api_key=${API_KEY}&language=en-US&page=${page}`
const fetchRes = await fetch(URL)
.then(res => res.json())
setLoopPosts(prev => [...prev, fetchRes])

}

[1,2,3,4,5].forEach(page => fetchLoop(page))

您有阵列的示例吗

myArray = [[1,2],3,[4,5]];

myFlatArray = myArray.flat();

console.log(myFlatArray);

预期日志结果为[1,2,3,4,5]

对于展平阵列,可以使用
flatMap
flat

const数据=[
{第1页,结果:[{a:1}]},
{第2页,结果:[{b:2}]},
];
//使用平面图
const res=data.flatMap((项)=>item.results);
控制台日志(res);
//使用flatMap和解构
const res2=data.flatMap(({results})=>results);
console.log(res2);
//使用映射、分解和展开
const res3=data.map(({results})=>results.flat();

控制台日志(res3)这是一个对象数组,不是数组数组。请以文本而不是图像的形式发布数据。还包括用于在数组上循环的代码,并描述运行它时发生的情况以及希望它以不同方式执行的操作。外部数组的值不是数组,而是包含数组的对象。你可以做
data.flatMap(x=>x.results)
。是的,但是像array[0]一样低一级。结果应该是一个有20个索引的数组?我原以为这应该行得通,但似乎不行:const array1=loopPosts[0]。results.flat(infinity)@visua只要使用嵌套的
for
循环就行了,如果你想
循环它们的话
for(让x=0;x
@code学徒我现在在我的帖子中添加了一些信息以澄清问题。