javascript - 使用 foreach 和 switch 循环遍历数组并在 angularjs 中返回不同的值
问题描述
我有一个要循环遍历的对象数组。使用函数,我想给出对象的“类型”并为它们获取“值”。
例如:
大批:
$scope.data = [
{
"type": "CUSTOMER_NO",
"value": "12345"
},
{
"type": "NAME_LINE_1",
"value": "CURTIS"
},
{
"type": "ADDR_STREET1",
"value": "500 RODEO DR"
},
{
"type": "ADDR_STREET2",
"value": "SUITE 102, MD 0750"
},
{
"type": "ADDR_CITY",
"value": "SAINT JOSEPH"
},
{
"type": "ADDR_ZIP",
"value": "22331"
}
]
控制器(forloop):
$scope.formatAddress = function(addressInfo) {
angular.forEach($scope.data, function(addressValue) {
switch(addressValue.type) {
case "CUSTOMER_NO":
address = addressValue.value;
break;
case "ADDR_STREET1":
address = addressValue.value;
break;
case "ADDR_STREET2":
address = addressValue.value;
break;
case "NAME_LINE_1":
address = addressValue.value;
break;
case "NAME_LINE_2":
address = addressValue.value;
break;
case "ADDR_CITY":
address = addressValue.value;
break;
case "ADDR_ZIP":
address = addressValue.value;
break;
default:
address = addressValue.value;
}
});
return address;
};
我正在使用 forEachand 使用 switch 循环遍历数组,以检查哪个字符串传递给了我想要的特定类型。
在 HTML 中:
<div>{{vm.formatAddress("CUSTOMER_NO")}} - {{vm.formatAddress("NAME_LINE_1")}}</div>
<div>{{vm.formatAddress("ADDR_STREET1")}} {{vm.formatAddress("ADDR_STREET2")}}</div>
<div>{{vm.formatAddress("ADDR_CITY")}}, {{vm.formatAddress("CUSTOMER_NO")}} - {{vm.formatAddress("ADDR_ZIP")}}</div>
我目前得到的是......只是这样的客户号码......
12345 - 12345
12345 12345
12345, 12345 - 12345
我想找回什么...
12345 - CURTIS
500 RODEO DR, SAINT JOSEPH
SUITE 102, MD 0750
SAINT JOSEPH, 22331
编辑:
使用for循环解决了它
解决方案
如果我正确理解您的问题,您可以将您的 $scope.formatAddress 替换为:
$scope.formatAddress = function(addressInfo) {
return data.find(x => x.type === addressInfo).value;
};
推荐阅读
- c - const char **envp 应该做什么?
- javascript - 如何制作一个返回ajax请求响应的函数
- c# - 如何在拥有的实体中定义关系属性的名称
- javascript - 高度为 100% 时操作 webkit-keyframes 的高度
- c# - 将 PackageReferences 自动添加到 NuGet 包
- android - Facebook 中的用户好友权限
- java - 尝试从 github (windows) 编译 java 项目时出错
- python - 在 LateX 中编译时使用 matplotlib+pgf 后端获取半透明文本
- javascript - FHIR client-js 上的 SMART:IE11 上的无效字符错误
- sql - 在主选择和子选择中添加引用另一个表的查询