Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据条件将数组复制到另一个数组_Javascript_Angularjs - Fatal编程技术网

Javascript 根据条件将数组复制到另一个数组

Javascript 根据条件将数组复制到另一个数组,javascript,angularjs,Javascript,Angularjs,我正在寻找一种基于某种条件将数组列表复制到另一个数组列表的简洁方法。我不想一个元素一个元素地复制。这也是需要时间的,当然还有很多的线路 MYJSON $scope.leadsDataSource=[{ id: 1, type: 1, typeName: "Lead", client: 1, clientName: "Ljungbloms Elektriska AB",

我正在寻找一种基于某种条件将数组列表复制到另一个数组列表的简洁方法。我不想一个元素一个元素地复制。这也是需要时间的,当然还有很多的线路

MYJSON

$scope.leadsDataSource=[{
            id: 1,
            type: 1,
            typeName: "Lead",
            client: 1,
            clientName: "Ljungbloms Elektriska AB",
            marking: "Marking for Ljungbloms Elektriska AB",
            status: 2,
            statusName: "Open",
            stage: 2,
            stageName: "Stage 2",
            leadValue: 1,
            probability: 1,
            issuer: 1,
            issuerName: "Sales",
            handler: 1,
            handlerName: "Sales",
            created: 1462345200000,
            createdString: "2016-05-04"
        }, {
            id: 2,
            type: 1,
            typeName: "Lead",
            client: 2,
            clientName: "Solina Sweden AB",
            marking: "Marking for Solina Sweden AB",
            status: 1,
            statusName: "Closed",
            stage: 3,
            stageName: "Stage 3",
            leadValue: 1,
            probability: 1,
            issuer: 1,
            issuerName: "Sales",
            handler: 1,
            handlerName: "Sales",
            created: 1462345200000,
            createdString: "2016-05-04"
        }, {
            id: 3,
            type: 2,
            typeName: "Opportunity",
            client: 3,
            clientName: "H & M Hennes & Mauritz GBC AB",
            marking: "Marking for H & M Hennes & Mauritz GBC AB",
            status: 3,
            statusName: "Pending",
            stage: 4,
            stageName: "Stage 4",
            leadValue: 1,
            probability: 1,
            issuer: 1,
            issuerName: "Sales",
            handler: 1,
            handlerName: "Sales",
            created: 1462345200000,
            createdString: "2016-05-04"
        }];
条件脚本

 var dataSource=[];
        angular.forEach($scope.leadsDataSource, function (value, key) {
            if(value.typeName=='Lead'){
                 //**copy the row to dataSource**
            }
        });
有没有一种简洁的方法,我不必推每一个元素???

你可以使用

var$scope={},
数据源;
$scope.leadsDataSource=[{id:1,type:1,typeName:“Lead”,client:1,clientName:“Ljungbloms Elektriska AB”,marking:“Ljungbloms Elektriska AB的marking”,status:2,statusName:“Open”,stage:2,stageName:“stage 2”,leadValue:1,probability:1,issuerName:“Sales”,handlerName:“Sales”,created:1462345200000,createdString:“2016-05-04”},{id:2,type:1,typeName:“Lead”,客户:2,客户名称:“Solina Sweden AB”,标记:“Solina Sweden AB的标记”,状态:1,状态名称:“Closed”,阶段:3,阶段名称:“阶段3”,leadValue:1,概率:1,发行人:1,发行人名称:“Sales”,处理人:1,handlerName:“Sales”,创建:1462345200000,创建字符串:“2016-05-04”},{id:3,类型:2,类型名称:“商机”,客户:3,客户名称:“H&M Hennes&Mauritz GBC AB”,标记:“H&M Hennes&Mauritz GBC AB的标记”,状态:3,状态名称:“待定”,阶段:4,阶段名称:“阶段4”,leadValue:1,概率:1,发行人:1,发行人名称:“销售”,处理人:1,处理人名称:“销售”,创建人:1462345200000,创建人字符串:“2016-05-04”});
dataSource=$scope.leadsDataSource.filter(函数(a){
返回a.typeName=='Lead';
});
console.log(数据源)您可以使用

var$scope={},
数据源;
$scope.leadsDataSource=[{id:1,type:1,typeName:“Lead”,client:1,clientName:“Ljungbloms Elektriska AB”,marking:“Ljungbloms Elektriska AB的marking”,status:2,statusName:“Open”,stage:2,stageName:“stage 2”,leadValue:1,probability:1,issuerName:“Sales”,handlerName:“Sales”,created:1462345200000,createdString:“2016-05-04”},{id:2,type:1,typeName:“Lead”,客户:2,客户名称:“Solina Sweden AB”,标记:“Solina Sweden AB的标记”,状态:1,状态名称:“Closed”,阶段:3,阶段名称:“阶段3”,leadValue:1,概率:1,发行人:1,发行人名称:“Sales”,处理人:1,handlerName:“Sales”,创建:1462345200000,创建字符串:“2016-05-04”},{id:3,类型:2,类型名称:“商机”,客户:3,客户名称:“H&M Hennes&Mauritz GBC AB”,标记:“H&M Hennes&Mauritz GBC AB的标记”,状态:3,状态名称:“待定”,阶段:4,阶段名称:“阶段4”,leadValue:1,概率:1,发行人:1,发行人名称:“销售”,处理人:1,处理人名称:“销售”,创建人:1462345200000,创建人字符串:“2016-05-04”});
dataSource=$scope.leadsDataSource.filter(函数(a){
返回a.typeName=='Lead';
});
console.log(数据源)您可以使用本机方法:

您可以使用本机方法:

以下是一个(简洁的)解决方案:

       var dataSource = $scope.leadsDataSource.filter(function(item) {
          return item.typeName ==='Lead';
        });
以下是一个(简洁的)解决方案:

       var dataSource = $scope.leadsDataSource.filter(function(item) {
          return item.typeName ==='Lead';
        });

如果需要深度复制,则使用
angular.copy

var dataSource=[];
        angular.forEach($scope.leadsDataSource, function (value, key) {
            if(value.typeName=='Lead'){
                dataSource.push(angular.copy(value))     
            }
        });

如果需要深度复制,则使用
angular.copy

var dataSource=[];
        angular.forEach($scope.leadsDataSource, function (value, key) {
            if(value.typeName=='Lead'){
                dataSource.push(angular.copy(value))     
            }
        });

或者使用旧的经典地图

   var dataSource = $scope.leadsDataSource.map(function (item) {
        if(item.typeName === 'Lead') return item;    
    });

或者使用旧的经典地图

   var dataSource = $scope.leadsDataSource.map(function (item) {
        if(item.typeName === 'Lead') return item;    
    });

SyntaxError:Unexpected token{
这是ide的威力。
SyntaxError:Unexpected token{
这是ide的威力。