鍍金池/ 問答/人工智能  HTML/ 數(shù)組算法問題求解

數(shù)組算法問題求解

遇到一個算法;類似 var a= [1,2,3,4,4 ,5,5,5] 怎么處理成二位數(shù)組[[1],[2],[4,4],[5,5,5]]
我自己寫的:額。。。循環(huán)兩次,不太好

var a= [1,2,3,4,4,5,5,5];
    var obj = {};
    var arr = [];
    for(var i = 0; i<a.length; i++) {
        if(!obj[a[i]]){
            obj[a[i]] = [];
        }
        obj[a[i]].push(a[i]);
    }
    for(var i in obj){
        arr.push(obj[i]);
    }
    console.log(arr);
回答
編輯回答
陪她鬧

排序后 一遍循環(huán)就行

let a= [1,2,3,4,4,5,5,5];
let a2 = []
for(let i=0;i<a.length;i++){
    if(i==0||a[i]!=a[i-1]){
        a2.push([])
    }
    a2[a2.length-1].push(a[i])
}
2017年3月2日 10:29
編輯回答
寫榮
test = [1,2,3,4,4,5,5,5]
res = dict()
for i in test:
  if not res.has_key(i):
    res[i] = []
  res[i].append(i)

print res.values()
2017年6月12日 04:05
編輯回答
乞許
var arr = [1,2,3,4,4 ,5,5,5]

var ret = []
var prev = [arr[0]]
for (let i = 1; i < arr.length; i++) {
  if (arr[i] === prev[0]) {
    prev.push(arr[i])
  } else {
    ret.push(prev)
    prev = [arr[i]]
  }
}
ret.push(prev)
2018年9月22日 00:58