Javascript 创建数组的副本,但仅包含特定字段
我有一个这样的数组,有1000多行: 现在我需要创建一个名为$scope.roleUsers的新数组,并只将deptCode和roleName复制到新数组中 我使用了slice,但它可以用于按索引选择值,但这里我需要按名称将特定字段推送到新数组中。 除此之外:Javascript 创建数组的副本,但仅包含特定字段,javascript,arrays,arraylist,slice,Javascript,Arrays,Arraylist,Slice,我有一个这样的数组,有1000多行: 现在我需要创建一个名为$scope.roleUsers的新数组,并只将deptCode和roleName复制到新数组中 我使用了slice,但它可以用于按索引选择值,但这里我需要按名称将特定字段推送到新数组中。 除此之外: $scope.roleUsers = [{deptCode: "8", roleName : "Deo Role"}, {deptCode: "4", roleName : "BMRole"}] 请在此提供帮助,提前感谢。.slic
$scope.roleUsers = [{deptCode: "8", roleName : "Deo Role"}, {deptCode: "4", roleName : "BMRole"}]
请在此提供帮助,提前感谢。.slice只创建数组的副本,可能从一个索引到另一个索引,它不会更改任何元素-您需要。请改为映射:
您可以使用array.map函数&在回调函数中,返回一个只有所需键的对象
设arr=[{
部门代码:8,
roleName:Deo角色,
身份证号码:1
}, {
id:2,
部门代码:4,
角色名称:BMRole
}]
让newArr=arr.mapitem=>{
返回{
deptCode:item.deptCode,
roleName:item.roleName
}
};
console.lognewArr您可以使用map从数组数据获取特定字段,如下所示-
让deoUsers=[{deptCode:8,roleName:Deo角色,用户名:'123'},{deptCode:4,roleName:BMRole,用户名:'456'}]
,roleUsers=deoosers.map{deptCode,roleName}=>{deptCode,roleName}
console.logroleUsers您可以使用Array.map方法复制特定元素 变量demoObject=[{ fname:'约翰', 名称:“Doe”, 罗尔诺:123 }, { fname:'约翰', 名称:“Doe”, 罗尔诺:345 }]; 所需风险值={ 对象:demoObject.mapfunctionv{ 返回{ 罗尔诺:罗尔诺 }; } } console.logrequiredRes;
const result = $scope.deoUsers.map(({ deptCode, roleName }) => ({ deptCode, roleName }));