【发布时间】:2021-12-09 04:23:19
【问题描述】:
我有两个数组,我想验证两个数组是否同步,如果两个数组中存在相同的名称,应该存储在数组中,而其他的则没有
例如:我需要名称为 rea.jpg 的所有对象,但在我的数组中我有这样的 ['dsjajdsj...h2/rea.jpg']
这是材料
[{name: 'hgb.jpg' }, { name: 'rea.jpg'}, { name: 'ca.png' }]
文件扩展名始终是字符串的结尾
我想验证名称数组中是否存在对象
const names = ['h2/rea.jpg']
const materials = [{
name: 'hgb.jpg'
}, {
name: 'rea.jpg'
}, {
name: 'ca.png'
}]
const res = materials.filter(x => names.includes(x.name))
console.log('RES', res)
预期结果应该是[ {name: 'rea.jpg'}]
【问题讨论】:
-
您的
names数组具有完全限定的文件名(带路径),我假设您不想比较路径组件,只比较文件名,那么为什么不创建第二个数组只有来自names的文件名?然后您的过滤器代码将起作用。 -
@jarmod 我怎样才能在不使用这个字符 / 的情况下创建名称列表?
-
@jarmod 我不想安装一个库或者除非它太必要?
-
@jarmod ProGu 的答案可以在所有情况下工作吗?
标签: javascript