Javascript 对具有相同名称的对象属性进行迭代

Javascript 对具有相同名称的对象属性进行迭代,javascript,arrays,loops,object,for-loop,Javascript,Arrays,Loops,Object,For Loop,我有一个对象数组,每个对象可能包含命名相同的属性。如何迭代objects属性以提取每个条目 我尝试了下面的代码,但它只提供了对象中的最后一个属性。有什么想法吗 var clearingnumberz=[{ “Namn”:“北欧”, “Clearingnummer”:“1100-1199”, “Clearingnummer”:“1400-2099”, “Clearingnummer”:“3000-3399”, “Clearingnummer”:“3410-4999” }, { “Namn”:“丹

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

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

var clearingnumberz=[{
“Namn”:“北欧”,
“Clearingnummer”:“1100-1199”,
“Clearingnummer”:“1400-2099”,
“Clearingnummer”:“3000-3399”,
“Clearingnummer”:“3410-4999”
},
{
“Namn”:“丹麦银行”,
“Clearingnummer”:“1200-1399”,
“Clearingnummer”:“9180-9189”
},
{
“Namn”:“Handelsbanken”,
“Clearingnummer”:“6000-6999”
},
{
“Namn”:“JP Nordiska”,
“Clearingnummer”:“2300-2309”
}
];
函数SearchForBankName(){
var userInput=document.getElementById(“bankTxt”).value;
用于(清算编号Z中的var银行){
var currentObject=clearingnumberz[bank];
if(userInput==currentObject.Namn){
for(currentObject中的var clearingnumber){
console.log(currentObject.Clearingnummer);
}
}
}
}

不,你没有。JavaScript对象可能没有同名的属性。所以你的物体看起来不是那样的

const obj={
“Namn”:“北欧”,
“Clearingnummer”:“1100-1199”,
“Clearingnummer”:“1400-2099”,
“Clearingnummer”:“3000-3399”,
“Clearingnummer”:“3410-4999”
}

console.log(obj);//oops
为了更快地访问,您可以将数据(带有数组)转换为哈希表,并以数字作为键获取名称

var clearingnumberz=[{namn:“北欧”,clearingnummer:[“1100-1199”,“1400-2099”,“3000-3399”,“3410-4999”],{namn:“丹麦银行”,clearingnummer:[“1200-1399”,“9180-9189”],{namn:“汉德尔银行”,clearingnummer:[“6000-6999”],{namn:“日本北欧银行”,clearingnummer:[“2300-2309”],
numberz=Object.create(空);
clearingnumberz.forEach(功能(银行){
bank.clearingnumer.forEach(函数(clearingnumber){
numberz[clearingnumber]=bank.namn;
});
});
控制台日志(编号Z['6000-6999']);

控制台日志(编号Z)对象中具有相同键的javascript无效。对于具有多个值的属性,对象不能具有与数组相同的KeyKeep值,例如:“Clearingnummer”:[“1400-2099”、“1400-4099”、“1600-2129”],您可以在对象上使用
forEach
来获取对象属性的
key
value
。感谢数组提示,这似乎是一个很好的解决方案。我将间隔拆分为两个字符串,以便能够搜索间隔1400-2099。在阵列上也可以轻松执行此操作吗O