首页 > 解决方案 > 检查数组中是否存在字符串

问题描述

我有以下键StudentMembers[1].active,但我需要检查该键是否存在于以下数组中

const array= ["StudentMembers.Active","StudentMembers.InActive"]

如何[1]从数组中删除索引StudentMembers[1].active并检查StudentMembers.Active数组中是否存在

标签: javascriptarraystypescript

解决方案


您可以使用正则表达式删除所有括号[<any>],如下所示:

const key = "StudentMembers[1].active".replace(/\[.*\]/, '');
console.log(key); // Return "StudentMembers.active"

然后你可以.find()用来检查数组是否包含键

const array= ["StudentMembers.Active","StudentMembers.InActive"];
const hasKey = array.find(item => item.toLowerCase() == key.toLowerCase()) ? true : false;
console.log(hasKey); // Return true

强烈建议使用.toLowerCase()它以匹配任何类型的案例。

示例:https ://jsfiddle.net/fhkx9v3n/


推荐阅读