我想按照图像的类型(好,中,差)排序,并把它们放在相应的文件夹中。
我的数据是一个具有图像名称+标签的对象
export interface data = { image: string, label: 'good' | 'medium' | 'bad' }
export const DATA: data = {
{ image: 'name-of-image-1, label: 'good' }
{ image: 'name-of-image-2, label: 'bad' },
{ image: 'name-of-image-3, label: 'good' },
...,
{ image: 'name-of-image-n, label: 'medium' }
}
映像在服务器上,路径例如为:smb://test/Images/
所以我在SMB找到了第一个映像://test/images/name-of-image-1
我想映射我的数据和复制图像在相应的文件夹取决于标签。(将标签为“bad”的图像放入文件夹。/bad。
您有没有用javascript(节点)实现这一点的想法?
您提供的代码示例中有一些问题可以在此处解决:
export interface Data {
image: string,
label: 'good' | 'medium' | 'bad'
}
export const data: Data[] = [
{ image: 'name-of-image-1', label: 'good' },
{ image: 'name-of-image-2', label: 'bad' },
{ image: 'name-of-image-3', label: 'good' },
{ image: 'name-of-image-n', label: 'medium' }
];
要解决您的问题,您可以使用。reduce
将图像标签
相应地分组:
const sorted = data.reduce((prev, current) => ({
...prev,
[current.label]: [
...prev[current.label],
current.image
]
}), { good: [], medium: [], bad: [] });
然后,sorted
的响应如下
{
"good": [
"name-of-image-1",
"name-of-image-3"
],
"medium": [
"name-of-image-n"
],
"bad": [
"name-of-image-2"
]
}