javascript - 使用 findIndex 检查对象数组中存在的元素数组 - 打字稿
问题描述
我正在尝试从对象数组中存在的属性数组中检查哪些属性不存在。
我的对象是这样的:
var tempObj=[{id: '1', color: 'red, blue, green', age: 27},{id: '2', color: 'black, orange, yellow', age: 75}];
var tempColor = ['red', 'yellow', 'white'];
这里 tempColor 数组包含三个元素,我需要检查 tempObj 中存在的这些元素。这里 tempObj 颜色属性值被逗号化了,所以我在这里感到困惑。基本上对于单元素检查,我曾经这样做过
var eleExists= this.tempObj.findIndex(obj => obj.age === 27) >= 0;
但是对于用逗号替换值检查的数组元素没有想法检查,所以寻求一些帮助或指导。
解决方案
const data = [
{id: '1', color: 'red, blue, green', age: 27},
{id: '2', color: 'black, orange, yellow', age: 75},
]
const colors = ['red', 'yellow', 'white']
function getNeverUsedColors(colors, data) {
return colors.filter(color => !data.some(obj => obj.color.split(', ').includes(color)))
}
console.log(getNeverUsedColors(colors, data))
// returns ['white']
推荐阅读
- r - tryCatch() 不会抑制错误消息
- c# - c# 用可变点绘制曲线
- heroku - 添加域(heroku)时出现 Sni 端点错误
- php - WooCommerce 购物车和结帐中运输方式的额外 HTML
- r - R data.table - 有没有更有效的方法来融合多种方式和合并结果?
- javascript - 来自浏览器的虚拟摄像头检测
- reactjs - 使用 Controller 时 react-hook-form 未触发 onSubmit
- r - 将 `xml_document/xml_node` 对象保存在 tibble 中以进行变异
- python - 如何在新的 DataFrame 列中将 MMSS 和百分之一秒转换为秒
- java - 如何在 Java Servlet 上触发 OAuth/OpenID 身份验证并将我自己的角色添加到用户?