繁体   English   中英

检查 JSON 值的更简洁和跨浏览器的方法

[英]A cleaner and more cross-browser way to check a JSON value

我正在使用 API,有一个值被存储为变量(字符串类型),如下所示:

var majorValue = "some_major_name";

然后我想检查上面的字符串值并将其与专业的短列表(组)进行比较,以加载相关的 HTML 片段。 我想出了这个includes的解决方案,但我不确定这是否是最干净/最有效的方法:

if(majorValue.includes('Accounting') || majorValue.includes('Business_Administration') || majorValue.includes('BA_and_Accounting') || majorValue.includes('BA_and_Chemistry') || majorValue.includes('BA_and_Communication') || majorValue.includes('BA_and_Computer_Info_Systems') || majorValue.includes('BA_and_Economics') || majorValue.includes('BA_and_Sport_Management') || majorValue.includes('BA_and_Theatre') || majorValue.includes('Business_and_Visual_Arts')||majorValue.includes('Computer_Information_Systems')||majorValue.includes('Data_Analytics') || majorValue.includes('Economics') || majorValue.includes('Marketing') || majorValue.includes('Sustainable_Business')) {
  $('#internship').load(`./snippets/internship/Business.html`);
};

应该有比写一大堆includes||更好的方法检查和加载 HTML。 将主要值存储在数组中,然后检查majorValue 是否与array中的一项匹配,如果匹配,则执行某些操作(加载HTML 片段)不是更好。

const something = [
  'Accounting',
  'Business_Administration',
  'BA_and_Accounting',
  // ...
  'Marketing'
];

var majorValue = "Marketing";

if (something.includes(majorValue)) {
  console.log("found");
  //$('#internship').load(`./snippets/internship/Business.html`);
};

或者另一种方式,对每个候选人使用数组,然后在其上找到您的majorValue包含的项目。

 const something = [ 'Accounting', 'Business_Administration', 'BA_and_Accounting', // ... 'Marketing' ]; var majorValue = "Marketing and stuff"; var x = something.find(function(item) { return majorValue.indexOf(item)>-1 }) console.log("found at", x)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM