我有一个对象数组,每个对象可能包含名称相同的属性。如何迭代对象属性以提取每个条目?
我已经尝试了下面的代码,但它只提供了对象中的最后一个属性。有什么想法吗?
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/