ReactJS中const内的循环

ReactJS中const内的循环,reactjs,Reactjs,这真的很小。。。但我还没弄明白 const compose_url = (id, key) => `${id}/image/_/${key}`; const get_images = compose_url( this.props.dataset_id, // pass in prefix (2018_1_25) get_image_arrays // This returns an array with two arrays e.g. [["img1.p

这真的很小。。。但我还没弄明白

  const compose_url = (id, key) =>
   `${id}/image/_/${key}`;


  const get_images = compose_url(
    this.props.dataset_id, // pass in prefix (2018_1_25)
    get_image_arrays // This returns an array with two arrays e.g. [["img1.png"], ["img2.png"]]
  );
我想让它返回“2018_1-25/img1.png”和“2018_1-25/img2.png”,但我只得到第一个数组(“2018_1-25/img1.png”)而不是第二个数组。我如何循环使用此选项向两个图像添加前缀

请帮忙。。。我还没有找到关于如何做到这一点的文档或示例

const get_images = [];
const { dataset_id: id } = this.props;

get_images_array.forEach(arr => {
  arr.forEach(path => {
    get_images.push(
      compose_url(
        id,
        path
      )
    );
  }
});
编辑:

我对其他答案采取了不同的方法,并没有修改
compose\uurl
方法,而是使用给定的数据。这种方法迭代顶级数组(
get\u images\u array
),然后迭代
get\u images\u array
中的每个数组。对于内部数组中的每个路径,将
compose\u url
的结果推送到
get\u images
result数组中

编辑:

我对其他答案采取了不同的方法,并没有修改
compose\uurl
方法,而是使用给定的数据。这种方法迭代顶级数组(
get\u images\u array
),然后迭代
get\u images\u array
中的每个数组。对于内部数组中的每个路径,将
compose\u url
的结果推送到
get\u images
result数组中。

试试这个

const compose_url = (id, arr) => {
  return arr.map((ar) => (
    `${id}/image/_/${ar}`
  ));
};
此函数将返回
[“2018\u 1\u 25/image/\u/img1.png”,“2018\u 1\u 25/image/\u/img2.png”]

试试这个

const compose_url = (id, arr) => {
  return arr.map((ar) => (
    `${id}/image/_/${ar}`
  ));
};

此函数将返回
[“2018\u 1\u 25/image/\u/img1.png”,“2018\u 1\u 25/image/\u/img2.png”]

您可以像

const compose_url = (id, arr) => {
    return [].concat(arr.map(data => [].concat(data.map(key) => `${id}/${key}`)));
}



 const get_images = compose_url(
    this.props.dataset_id, // pass in prefix (2018_1_25)
    get_image_arrays // This returns an array with two arrays e.g. [["img1.png"], ["img2.png"]]
  );

您可以像下面这样简单地映射数组

const compose_url = (id, arr) => {
    return [].concat(arr.map(data => [].concat(data.map(key) => `${id}/${key}`)));
}



 const get_images = compose_url(
    this.props.dataset_id, // pass in prefix (2018_1_25)
    get_image_arrays // This returns an array with two arrays e.g. [["img1.png"], ["img2.png"]]
  );

您需要在此处更新compose_url()函数,并确保始终将数组作为变量的第二个传递

const compose_url = (date, imageArray) => 
    imageArray.map((eachImage) => `${id}/image/_/${eachImage}`);

希望这有帮助。

您需要在此处更新compose_url()函数,并确保始终将数组作为变量的第二个传递

const compose_url = (date, imageArray) => 
    imageArray.map((eachImage) => `${id}/image/_/${eachImage}`);

希望这能有所帮助。

compose\u url()的作用是什么?get_images变量需要什么?@mindaJalaj
compose_url()
是一个函数,它接受两个参数来组成url(dataset_id,image_key)=>${dataset_id}/image/${image_key};`在本例中,我希望
get_images
将第一个参数添加到两个数组中。。。不仅仅是oneget_图像,数组总是像两个数组“[”img1.png“][”img2.png“]`三个数组“[”img1.png“][”img2.png“][”img2.png“]`一样分开。它是?请在传递和编辑带有控制台数据的问题之前,先控制台您的get_image_数组。为什么它是一个包含单个字符串的数组?对不起。。。更正这是一个包含两个数组的数组:[“img1.png”],[“img2.png”]。我更正了我的问题以反映这一点。compose_url()的作用是什么?get_images变量需要什么?@mindaJalaj
compose_url()
是一个函数,它接受两个参数来组成url(dataset_id,image_key)=>${dataset_id}/image/${image_key};`在本例中,我希望
get_images
将第一个参数添加到两个数组中。。。不仅仅是oneget_图像,数组总是像两个数组“[”img1.png“][”img2.png“]`三个数组“[”img1.png“][”img2.png“][”img2.png“]`一样分开。它是?请在传递和编辑带有控制台数据的问题之前,先控制台您的get_image_数组。为什么它是一个包含单个字符串的数组?对不起。。。更正这是一个包含两个数组的数组:[“img1.png”],[“img2.png”]。我更正了我的问题,以反映这一点。您能否就解决方案的工作原理发表意见?仅发布代码并不等于回答问题。请您评论一下解决方案的工作原理?只发布代码并不等于回答