Javascript 创建数组的副本,但仅包含特定字段

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

我有一个这样的数组,有1000多行:

现在我需要创建一个名为$scope.roleUsers的新数组,并只将deptCode和roleName复制到新数组中

我使用了slice,但它可以用于按索引选择值,但这里我需要按名称将特定字段推送到新数组中。 除此之外:

 $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 }));