第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在列表中組織重復(fù)的數(shù)字

在列表中組織重復(fù)的數(shù)字

GCT1015 2022-09-29 16:56:22
給定一個數(shù)字?jǐn)?shù)組,函數(shù)應(yīng)返回一個數(shù)組數(shù)組,其中每個子數(shù)組都包含特定數(shù)字的所有重復(fù)項。子數(shù)組的順序應(yīng)與它們所包含的數(shù)字的第一次出現(xiàn)的順序相同。鑒于此:[3, 2, 6, 2, 1, 3]我怎么能得到這個[[3, 3], [2, 2], [6], [1]]
查看完整描述

5 回答

?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗 獲得超5個贊

您可以采用一個對象對相同的值進(jìn)行分組。


var array = [3, 2, 6, 2, 1, 3],

    result = [],

    group = {};


for (let value of array) {

    if (!group[value]) result.push(group[value] = []);

    group[value].push(value);

}


console.log(result);

.as-console-wrapper { max-height: 100% !important; top: 0; }


查看完整回答
反對 回復(fù) 2022-09-29
?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗 獲得超6個贊

我相信它可以寫得更短,更簡單,這是我的鏡頭:


function group(arr) {

  let dubArray = []

  arr.forEach((item) => {

    let itemArr = []

    arr = arr.filter((repeatItem)=>{

      if(item === repeatItem) {

        itemArr.push(item)

        return false

      } 

      return true

    })

    if(itemArr.length > 0 )

      dubArray.push(itemArr)

  })

  return dubArray

}


console.log(group([1, 2, 1, 5, 5, 1]))


查看完整回答
反對 回復(fù) 2022-09-29
?
繁華開滿天機

TA貢獻(xiàn)1816條經(jīng)驗 獲得超4個贊

Map 對象在此類情況下非常有用。它非常有效,并且迭代條目始終按插入順序進(jìn)行。


let arr = [3, 2, 6, 2, 1, 3];


// form a Map with number as key sub arrays as value

let aMap = new Map();

arr.forEach(num => {

  if (!aMap.has(num)) { aMap.set(num, []); }

  let subArr = aMap.get(num);

  subArr.push(num);

  aMap.set(num, subArr);

});


// loop through Map to form array of sub-arrays

let counts = [];

aMap.forEach(subArr => {

  counts.push(subArr);

});


const result = document.getElementById('result');

result.innerHTML = 'arr: ' + JSON.stringify(arr) + '\n';

result.innerHTML += 'aMap: {';

aMap.forEach((subArr, number) => {

  result.innerHTML += ` ${number} => ${JSON.stringify(subArr)},`;

});

result.innerHTML += ` }\n`;

result.innerHTML += 'counts: ' + JSON.stringify(counts);

<pre id="result"></pre>


查看完整回答
反對 回復(fù) 2022-09-29
?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗 獲得超9個贊

我做了一個函數(shù),可以做到這一點,稱為組。


let test = [3, 2, 6, 2, 1, 3];


function group(list){


    let result = [];

    let used = []


    for (let i = 0; i<list.length; i++){

        let sames = [];


        for (let j = i+1; j<list.length; j++){


            if (list[i] == list[j] && !used.includes(list[i])){

                sames.push(list[j])

            }

            

        }


        if (!used.includes(list[i])){

            sames.push(list[i])

        }

        used.push(list[i]);

        

        if (sames.length > 0){

            result.push(sames)

        }

    

    }


    return result

}


console.log(group(test))


查看完整回答
反對 回復(fù) 2022-09-29
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗 獲得超6個贊

let arr = [3, 2, 6, 2, 1, 3];


let unique_set = []; // storage of first occured unique numbers

let result = [];


arr.forEach(n => {

  let index = unique_set.indexOf(n);

  if( index !== -1 ) return result[index].push(n);

  

  unique_set.push(n);

  result.push( [n] );

  // the index of number in set, and index of result array will always match

});


console.log(result);


查看完整回答
反對 回復(fù) 2022-09-29
  • 5 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號