Arrays 从if语句Node.JS中的JSON访问数组

Arrays 从if语句Node.JS中的JSON访问数组,arrays,node.js,json,express,if-statement,Arrays,Node.js,Json,Express,If Statement,我的JSON文件如下所示 module.exports={ roles: { valid:["Area Director","Managing Director","Default"]}} 我正试图在Node.js中实现这一点 connection.connect(function(err) { connection.query(`SELECT display_title FROM user WHERE username = "${rolecheckemail}"

我的JSON文件如下所示

module.exports={
    roles: {
        valid:["Area Director","Managing Director","Default"]}}
我正试图在Node.js中实现这一点

connection.connect(function(err) {
  connection.query(`SELECT display_title FROM user WHERE username = "${rolecheckemail}" `, function (err, result, fields) {
  try{if(result[0].display_title.includes(roles.roles.valid)
    )
{
  res.send("Valid")}
  else{
    res.send("Not Valid")}
  }
  catch(err){
    res.send("Not Valid")
  }});
});
我想检查我的
display\u title
是否包含JSON中的任何有效角色。
我的Node.js语法似乎是错误的。

首先,我想你的JSON结构是不允许的,至少对我来说不起作用

第二,除了JSON,u还可以使用一个.ts文件,在该文件中,您可以使用“export”生成“const”变量,并在应用程序周围导入,如下所示

export const data = {
    roles: {
        valid: [
            'Area Director',
            'Managing Director',
            'Default'
        ]
    }
};
import { data } from './MyDocument.ts';
一旦您编写了变量,您只需要将ts导入到您需要的地方,如下所示

export const data = {
    roles: {
        valid: [
            'Area Director',
            'Managing Director',
            'Default'
        ]
    }
};
import { data } from './MyDocument.ts';
在我的例子中,我使用Angular 9,我需要做以下工作

export class MainComponent implements OnInit {

  public data: any = data;

  constructor() { }

  ngOnInit(): void {
    if (this.data.roles.valid[2] === 'Default') {
      console.log('Hello');
    }
  }
}

我只是想帮你,如果这对你不起作用,或者你需要更多帮助,请提供一个代码片段,这样我可以更准确地找出问题所在。

你有一些错误:

要声明阵列,您需要使用coma并更改对include的检查:

let valid=[“区域主管”| |“总经理”| |“默认值”]
console.log(有效)
//由于或条件的原因,您已创建1个元素的数组:字符串\u 1或字符串\u 2将返回字符串\u 2
有效=[“区域主管”、“常务董事”、“默认值”]
console.log(有效)
const display_title='区域控制器'

console.log(有效的.includes(显示标题))
显示标题是数组吗?或者希望您检查display_title是否是其中一个角色。有效值?display_title是一个字符串我已经根据您的建议修复了JSON。但是,在
if(display_title.includes(roles.roles.valid))
中,我想检查我的字符串“display_title”,使JSON数组中的任何角色都有效,并提供trueThen use'in'例如public validData=['Area Director','Managed Director','Default';这个数组包含您的有效数据,然后您需要根据以下有效数据检查json:if(在roles.roles.valid中显示标题){}这应该也可以,但是如果您查看上面的解决方案,它也会考虑通配符搜索,例如“Area Director-US”或“in Area Director”。这正是我要寻找的用例。dispal_title已经是一个定义的字符串。我想在这里做的是检查它是否包含来自JSON的任何条目作为子字符串或精确匹配。请用一些文本示例更新您的问题,因为我不清楚您要归档什么。我已经更新了代码段,您现在可以检查吗?我不是指代码,而是文本示例。你的代码“翻译”说:如果(字符串
display\u title
包含一个字符串数组){},这将始终是
false
My code告诉你如何检查:如果
valid
数组包含字符串
display\u title
return true你是冠军。成功了!我重读了你的代码!