Javascript-string-Array

1.得到数组里重复的值

 function getRepeat(ar){
//数组排序
var ary = ar.sort();
//创建装重复值的新数组
var newArr = new Array();
//所有重复元素添加进新数组内
for(var i=0;i<ary.length;i++){
//前一项和后一项相比较 如果相等 就放进新数组newArr内
if (ary[i]==ary[i+1]){
  newArr.push(ary[i]);
}
}
//创建一个空数组result用来存放最终结果,同时声明了一个isRepeated来标记重复状态
var result = [], isRepeated;
//对重复元素数组进行元素去重
for (var k = 0; k < newArr.length; k++) {
//进入循环开始 标记 isRepeated 初始值都是false
isRepeated = false;
  for (var j = 0;j < result.length; j++) {
//如果新数组newArr内值和最终存放结果的数组内的值相等 则改变标记flag的状态为true 并跳出循环 继续下一次的循环
if (newArr[k] == result[j]) {
isRepeated = true; break;
}
}
//如果isRepeated状态明天被改变依然是false !false就是true 则把这个新数组newArr内这个值newArr[k] 放进result数字内
if (!isRepeated) {
result.push(newArr[k]);
}
}
return result;
}
 function getRepeat(ar){
var arr=[];
var arr1=[];
var arr2=[];
for(var i=0;i<ar.length;i++){
if(arr.indexOf(ar[i])==-1){
arr.push(ar[i])
}else{
arr1.push(ar[i])
}
}
if(arr1.length===1||arr1.length===0){
return arr1;
}else{
for(var i=0;i<arr1.length;i++){
if(arr2.indexOf(arr1[i])==-1){
arr2.push(arr1[i])
}
}
return arr2;
}
}

2.数组去重方法

 function unique(arr){
// 遍历arr,把元素分别放入tmp数组(不存在才放)
var reset = new Array();
for(var i in arr){
//该元素在tmp内部不存在才允许追加
if(reset.indexOf(arr[i])==-1){
reset.push(arr[i]);
}
}
return reset;
}

3.匹配两个数组,取出只有其中一个数组才有的值,以数组形式返回

 function getArrData(a,b){
var c=[];
var arr00=[];
for(var i in a){
c[a[i]]=a[i];
}
for(var i in b){
if(c[b[i]]){
delete c[b[i]];
}else{
c[b[i]]=b[i];
}
}
for(var i in c){
arr00.push(c[i])
//arr00.push(c[i].split(','))
}
return arr00;
}
上一篇:openerp经典收藏 深入理解报表运行机制(转载)


下一篇:关于统计变换(CT/MCT/RMCT)算法的学习和实现