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