javascript - 迭代具有相同名称的对象属性

标签 javascript arrays loops object for-loop

我有一个对象数组,每个对象可能包含名称相同的属性。如何迭代对象属性以提取每个条目?

我已经尝试了下面的代码,但它只提供了对象中的最后一个属性。有什么想法吗?

var clearingnumberz = [{
    "Namn": "Nordea",
    "Clearingnummer": "1100-1199",
    "Clearingnummer": "1400-2099",
    "Clearingnummer": "3000-3399",
    "Clearingnummer": "3410-4999"
  },
  {
    "Namn": "Danske Bank",
    "Clearingnummer": "1200-1399",
    "Clearingnummer": "9180-9189"
  },
  {
    "Namn": "Handelsbanken",
    "Clearingnummer": "6000-6999"
  },
  {
    "Namn": "JP Nordiska",
    "Clearingnummer": "2300-2309"
  }
];


function SearchForBankName() {

  var userInput = document.getElementById("bankTxt").value;

  for (var bank in clearingnumberz) {

    var currentObject = clearingnumberz[bank];

    if (userInput === currentObject.Namn) {

      for (var clearingnumber in currentObject) {
        console.log(currentObject.Clearingnummer);
      }
    }
  }
}
<input id='bankTxt' placeholder="search a value in Bank" value="Handelsbanken">
<input type="button" onclick="SearchForBankName()" value="search">

最佳答案

不,你不知道。 JavaScript 对象不能具有同名的属性。所以你的对象实际上看起来并不是那样的。

const obj = {
  "Namn": "Nordea",
  "Clearingnummer": "1100-1199",
  "Clearingnummer": "1400-2099",
  "Clearingnummer": "3000-3399",
  "Clearingnummer": "3410-4999"
}

console.log(obj); // oops

简而言之,你无法做你想做的事。您必须改变数据建模​​的方式。

关于javascript - 迭代具有相同名称的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40128369/

相关文章:

javascript - Spotify:如何防止它记住听过超过一首歌曲?

arrays - 如何获取数组中哈希表的索引?

javascript - 映射对象数组,然后映射这些对象中的另一个数组并消除重复项

java - java.lang.ArrayIndexOutOfBoundsException错误

javascript - 比 switch 语句更好的解决方案

javascript - 是否有像 Breeze 这样的 java 脚本库允许查询 IQueryable 方法而不是属性?

javascript - Vanilla Javascript 类中的“计算属性”

c# - 字节数组操作 - 面试问题

Java:将一个对象列表的属性映射到另一个对象列表的最有效方法

javascript - 是否有针对这个模糊的几分钟 iOS 日期时间本地错误的修复程序?