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变量需要什么?@mindaJalajcompose_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”]。我更正了我的问题,以反映这一点。您能否就解决方案的工作原理发表意见?仅发布代码并不等于回答问题。请您评论一下解决方案的工作原理?只发布代码并不等于回答