【问题标题】:Check if some object property exist in array of string typescript检查字符串打字稿数组中是否存在某些对象属性
【发布时间】:2022-12-05 23:03:21
【问题描述】:

我有一些这样的数组

const array1= ['A', 'B', 'C', 'D'];

const array2= [
{category: 'photos', code: 'A', fileName: '1664725062718.jpg', size: 120306},
{category: 'photos', code: 'F', fileName: '1664725062718.jpg', size: 120306},
{category: 'photos', code: 'K', fileName: '1664725062718.jpg', size: 120306},
];

我需要一些函数来检查是否有任何数组成员形式阵列 1存在于代码属性中数组2并返回 true 或 false?

像这样的东西,当然这只是行不通的例子?

array1.some(value => array2.includes(value))

【问题讨论】:

  • array1.some(value => array2.find(obj => obj.code === value))

标签: arrays typescript


【解决方案1】:

我认为一个干净的方法是做“相反”并在array2上使用some,从每个对象解构code,然后检查代码是否在第一个数组中。

const array1= ['A', 'B', 'C', 'D'];

const array2= [
{category: 'photos', code: 'A', fileName: '1664725062718.jpg', size: 120306},
{category: 'photos', code: 'F', fileName: '1664725062718.jpg', size: 120306},
{category: 'photos', code: 'K', fileName: '1664725062718.jpg', size: 120306},
];

console.log(array2.some(({ code }) => array1.includes(code)));

【讨论】:

  • 这没关系,但是什么代码是空的,它会得到错误包括不接受空?
  • @MiomirDancevic 在使用includes之前检查它是否为空然后
猜你喜欢
  • 1970-01-01
  • 2019-01-01
  • 2021-05-19
  • 2014-06-19
相关资源
最近更新 更多