【数组处理】从数组提取相同元素并归类
来源:互联网 发布:北京谷歌seo 编辑:程序博客网 时间:2024/06/07 05:23
var arr=[[2,445362],[3,445362],[4,445362],[5,666],[6,666],[7,669]];
var priceArray=[];
var vipArray=[];
arr.forEach(function(item){
priceArray.push(item[1]+"");
vipArray.push(item[0]);
})
console.log(vipArray);
console.log(priceArray);
vipArray.reverse();
priceArray.reverse();
var sameIndex=[];
for(var i=0;i<priceArray.length;i++){
var index=priceArray.indexOf(priceArray[i]);
var lastIndex=priceArray.lastIndexOf(priceArray[i]);
if(priceArray[i]==-1)
continue;
while(index!=lastIndex){
sameIndex.push(lastIndex);
priceArray[lastIndex]=-1;
lastIndex=priceArray.lastIndexOf(priceArray[i]);
}
sameIndex.push(i);
sameIndex.push(priceArray[i]);
}
var finalStr="";
sameIndex.forEach(function(item){
if(typeof item=="number"){
finalStr+="vip"+vipArray[item]+"-"
}else{
finalStr+=item+","
}
})
finalStr=finalStr.substring(0,finalStr.length-1);
var finalArray=finalStr.split(',').reverse();
console.log(sameIndex);
console.log(finalArray);
var finalStr2="";
finalArray.forEach(function(item){
var arr=item.split('-');
if(arr.length==2){
finalStr2+=arr[0]+":"+arr[1]+",";
}else if(arr.length==3){
finalStr2+=arr[0]+"-"+arr[1]+":"+arr[2]+",";
}else if(arr.length>3){
finalStr2+=arr[0]+"-"+arr[arr.length-2]+":"+arr[arr.length-1]+",";
}
})
finalStr2=finalStr2.substring(0,finalStr2.length-1);
document.body.innerHTML=finalStr2
//结果:vip2-vip4:445362,vip5-vip6:666,vip7:669
var priceArray=[];
var vipArray=[];
arr.forEach(function(item){
priceArray.push(item[1]+"");
vipArray.push(item[0]);
})
console.log(vipArray);
console.log(priceArray);
vipArray.reverse();
priceArray.reverse();
var sameIndex=[];
for(var i=0;i<priceArray.length;i++){
var index=priceArray.indexOf(priceArray[i]);
var lastIndex=priceArray.lastIndexOf(priceArray[i]);
if(priceArray[i]==-1)
continue;
while(index!=lastIndex){
sameIndex.push(lastIndex);
priceArray[lastIndex]=-1;
lastIndex=priceArray.lastIndexOf(priceArray[i]);
}
sameIndex.push(i);
sameIndex.push(priceArray[i]);
}
var finalStr="";
sameIndex.forEach(function(item){
if(typeof item=="number"){
finalStr+="vip"+vipArray[item]+"-"
}else{
finalStr+=item+","
}
})
finalStr=finalStr.substring(0,finalStr.length-1);
var finalArray=finalStr.split(',').reverse();
console.log(sameIndex);
console.log(finalArray);
var finalStr2="";
finalArray.forEach(function(item){
var arr=item.split('-');
if(arr.length==2){
finalStr2+=arr[0]+":"+arr[1]+",";
}else if(arr.length==3){
finalStr2+=arr[0]+"-"+arr[1]+":"+arr[2]+",";
}else if(arr.length>3){
finalStr2+=arr[0]+"-"+arr[arr.length-2]+":"+arr[arr.length-1]+",";
}
})
finalStr2=finalStr2.substring(0,finalStr2.length-1);
document.body.innerHTML=finalStr2
//结果:vip2-vip4:445362,vip5-vip6:666,vip7:669
阅读全文
0 0
- 【数组处理】从数组提取相同元素并归类
- iOS 遍历数组,提取相同元素存入其他数组
- iOS 遍历数组,提取相同元素存入另外一个数组
- java处理int[]数组相同元素
- 找出数组相同元素
- array数组扩展方法二、-- 数组中的对象元素进行归类,参数值相同的对象放在一起,以数组第一个元素为准
- 实现统计数组中相同元素个数并输出
- 比较两个数组中相同元素并打印出来
- 比较两个数组,并取出相同的元素
- 数组元素值处理并逆序输出
- 从一位数组中提取最小k个元素
- 从键盘输入数组的元素,并对数组排序
- 二维数组把某一相同健值进行归类
- 二维数组根据某个相同的值归类
- 数组中排除相同元素
- 数组中排除相同元素
- 数组中排除相同元素
- 两数组中的相同元素
- 【Python】Python线程指南
- 不得不说,minigui真的很坑
- Vuex学习小记(action)
- servlet入门-1(写的超级清楚)
- JavaScript事件绑定
- 【数组处理】从数组提取相同元素并归类
- 一些图片
- android xUtils 2.6.14 jar 下载 使用 和混淆
- socket的基本操作
- vs c++使用lua
- Android开机自启
- 学习他人消灭星星代码的收获
- 1TensorFlow实现自编码器-1.4 TensorFlow实现降噪自动编码器--运行会话,训练模型
- Qt类型转换