javascript - 对象或数组或两者

标签 javascript arrays object

我有以下需要简化的代码。

MenusDeroulants(string, html_element) 是我在 11 对上使用的函数,它给出了以下内容:

        MenusDeroulants("GetListeCatDdeurs", $("#cbx_Cat_Ddeur"));
        MenusDeroulants("GetListeCommunautes", $("#cbx_Communaute"));
        MenusDeroulants("GetListeOccupations", $("#cbx_Occupation"));
        MenusDeroulants("GetListeProvinces", $("#cbx_Province"));
        MenusDeroulants("GetListeScolarites", $("#cbx_Scolarite"));
        MenusDeroulants("GetListeSexes", $("#cbx_Sexe"));
        MenusDeroulants("GetListeSituations_Matrimoniales", $("#cbx_SituationMatrimoniale"));
        MenusDeroulants("GetListeSource_De_Revenus", $("#cbx_SrceRevenu"));
        MenusDeroulants("GetListeStatuts_Legaux", $("#cbx_StatutLegal"));
        MenusDeroulants("GetListeTranche_Revenu", $("#cbx_TrancheRevenu"));
        MenusDeroulants("GetListeVilles", $("#cbx_Ville"));

有没有办法简化一下?我对数组和对象的理解非常有限,我找不到一种方法来创建一个循环。

最佳答案

改用对象数组。您还可以使用数组的数组,但对象的数组会更具可读性,因为它具有描述其值的属性名称:

const list = [
  { string: 'GetListeCatDdeurs',   selector: '#cbx_Cat_Ddeur' },
  { string: 'GetListeCommunautes', selector: '#cbx_Communaute' },
  { string: 'GetListeOccupations', selector: '#cbx_Occupation' },
  // etc
];
list.forEach(({ string, selector }) => {
  MenusDeroulants(string, $(selector));
});

不确定所有 MenusDeroulants 调用是什么,但如果第一个参数始终以 GetListe 开头,并且选择器始终是以 开头的 ID cbx_,您可以通过在 forEach 循环中添加这些公共(public)子字符串来减少重复:

const list = [
  { subString: 'CatDdeurs',   subSelector: 'Cat_Ddeur' },
  { subString: 'Communautes', subSelector: 'Communaute' },
  { subString: 'Occupations', subSelector: 'Occupation' },
  // etc
];
list.forEach(({ subString, subSelector}) => {
  MenusDeroulants('GetListe' + subString, $('#cbx_' + subSelector));
});

关于javascript - 对象或数组或两者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51182510/

相关文章:

javascript - 如何使用 JQuery 迭代表行并访问某些单元格值?

javascript - 如何对具有多个值的对象数组进行分组?

c# - 在 C# 中选择数组中的一系列项目

JavaScript - 数组 - 更改一个元素但为什么整个列都改变了?

javascript - 交换对象数组中的元素

python - Django 获取随机对象

php - 是否可以动态更改网页的 URL?

javascript - JQuery UI 工具提示 - 工具提示位置错误(在页面左侧而不是按钮周围)

c++ - 二进制搜索树数组 Imp。 C++

javascript - 关于简单键值存储的字典与对象的 Python 最佳实践是什么?