迭代具有相同名称的对象属性
Iterate over object property with same name
我有一个对象数组,每个对象可能包含命名相同的属性。我如何遍历对象属性以提取每个条目?
我已经尝试了下面的代码,但它只给了我对象中的最后一个属性。什么好主意吗?
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
简而言之,你不能做你想做的事。您必须改变数据建模的方式。 为了更快的访问,您可以将数据(使用数组)转换为哈希表,并以数字作为键获取名称。
var clearingnumberz = [{ namn: "Nordea", clearingnummer: ["1100-1199", "1400-2099", "3000-3399", "3410-4999"] }, { namn: "Danske Bank", clearingnummer: ["1200-1399", "9180-9189"] }, { namn: "Handelsbanken", clearingnummer: ["6000-6999"] }, { namn: "JP Nordiska", clearingnummer: ["2300-2309"] }],
numberz = Object.create(null);
clearingnumberz.forEach(function (bank) {
bank.clearingnummer.forEach(function (clearingnumber) {
numberz[clearingnumber] = bank.namn;
});
});
console.log(numberz['6000-6999']);
console.log(numberz);
相关文章:
- 如何从对象的原型方法访问JavaScript对象属性
- 如何将数组项添加到对象属性中
- 设置嵌套对象属性的更好方法
- JavaScript管理具有重复属性名称的对象属性
- 如何使用element.myobj.prop等具有对象属性的元素
- 如何使用(this)访问Angular 2 http rxjs catch函数中的对象属性
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 如何在AngularJS工厂中正确声明对象属性
- 如何使用object.assign()从其他对象引用基本对象属性
- 使用XPath样式访问Javascript JSON对象属性
- 将javascript对象(属性+值)合并到一个对象中
- 数组:使对象属性成为数组键
- 无法从JavaScript中的函数调用对象属性
- Google Closure Advanced |无法识别对象属性|动态属性
- Javascript从匿名函数访问外部对象属性
- 从函数更改对象属性
- 如何从字符串变量访问对象属性
- 从嵌套对象属性中获取排除某个值的最高值
- 在Aurelia computeds中,当设置依赖关系时,如何声明对对象属性的依赖关系
- 传递数量不确定的可能嵌套的对象属性