1.数组里边相同元素提取成map,并以‘’,‘’分隔
例如:var arr = [{a:"xx",b:''xxx''},{a:"xxx",b:''xxxxx''},.....];
想要的结果 a = {''xx'',''xxx'',.....}; b = {''xxx'',''xxxxx'',.....};
var a = arr.map(function(item){
return item.a;
}).join(',');
以上同理b;
2.从数组中找出与当前id匹配的对象
例如:var arr = [{obja},{objb},{objc},....];
假设当前id为currentId 与arr里边的某一个对象的id匹配
则:当前匹配的对象
currentObj = $filter('filter')(arr,function(item){
return currentId === item.id;
})[0];
或者用underscore.js里边的_.filter方法
currentObj = _.filter(arr,function(item){
return currentId === item.id;
})[0];
3.两个数组值一一对应(对两个input输入值处理成数组并一一对应处理)
例如:var item.account=1;2;2;5; var item.deployPath=5;6;7,item.packageConfigDeployViews是数组有值修改/没值添加
下面实例是以那个数组长度长作为对应条件
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
if(item.packageConfigDeployViews){ var account = item.account.split(';'); var deployPath = item.deployPath.split(';'); if(account.length>=deployPath.length){ item.packageConfigDeployViews=_.map(account,function(val,index){ var obj=item.packageConfigDeployViews[index]; if(!_.isEmpty(obj)){ obj.account=val; obj.deployPath=deployPath[index]; return obj; }else{ return {account:val,deployPath:deployPath[index]}; } }); }else{ item.packageConfigDeployViews=_.map(deployPath,function(val,index){ var obj=item.packageConfigDeployViews[index]; if(!_.isEmpty(obj)){ obj.deployPath=val; obj.account=account[index]; return obj; }else{ return {deployPath:val,account:account[index]}; } }); } }else{ if(!_.isEmpty(item.account)&&(!_.isEmpty(item.deployPath))){ var account = item.account.split(';'); var deployPath = item.deployPath.split(';'); if(account.length>=deployPath.length){ item['packageConfigDeployViews']=_.map(account,function(val,index){ return {account:val,deployPath:deployPath[index]}; }); }else{ item['packageConfigDeployViews']=_.map(deployPath,function(val,index){ return {deployPath:val,account:account[index]}; }); } } }
3.数组处理的一些常用js方法
concat() :连接两个或多个数组。
every() :检测数值元素的每个元素是否都复合条件。
fill() :使用一个固定值来填充数组。
indexOf() :搜索数组中的元素,并返回在数组中的位置。大于-1返回true。
join() : 把数组所有元素放入一个字符串。
map() : 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
pop() :删除数组的最后一个元素并返回删除元素。与之对应的 shift() 删除数组第一个元素并返回删除元素。
reverse() :反转数组的顺序。
slice(start,end):已有数组中返回指定元素,不包含start和end元素。
some() :检测数组中是否有元素符合指定条件。
splice() :从数组中删除指定元素。
trim():删除左右两边空格。