gpt4 book ai didi

javascript - 如何将一个数组映射到另一个具有不同值的数组(angularJs)

转载 作者:行者123 更新时间:2023-11-29 19:03:11 24 4
gpt4 key购买 nike

目前我正在尝试使用现有数组将其映射到另一个数组以匹配服务器想要的内容。

例如...

我有一个数组:

$scope.users = [{
"firstName": "john",
"middleName": null,
"lastName": "doe",
"registrationNumber": "334"
},
{
"firstName": "paul",
"middleName": null,
"lastName": "dean",
"registrationNumber": "223"
},
{
"firstName": "andrew",
"middleName": null,
"lastName": "mac",
"registrationNumber": "132"
}
]

但是我希望它看起来像这样......

[{
name: "john doe",
value: {
registration: 334,
last: "doe",
first: "john"
}
}]

所以我一直在做的是这样的事情来映射它......但它只得到第一个。

var list = [{
name: $scope.users[0].firstName + ' ' + $scope.users[0].lastName,
value: {
registration: $scope.users[0].registrationNumber,
first: $scope.users[0].firstName,
last: $scope.users[0].lastName
}
}];

我尝试使用 angular.forEach 获取所有列表并推送它...但效果还不是很好...任何帮助都会很棒!

最佳答案

解决方案可能是:

var list = $scope.users.map(function(user) {
return {
name: user.firstName + ' ' + user.lastName,
value: {
registration: user.registrationNumber,
first: user.firstName,
last: user.lastName
}
};
});

解释

Array.map()迭代现有数组并返回一个新的修改后的数组。

因此,您必须在 $scope.users 上使用 map,并且对于每个要返回新对象的 user。在每次迭代中,您都可以访问每个 user。新对象将存储在 list 中,这将是一个数组。

关于javascript - 如何将一个数组映射到另一个具有不同值的数组(angularJs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45289770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com