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

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

如何找到超過2個重復(fù)數(shù)字數(shù)組的索引并將索引處的項目轉(zhuǎn)換為升序?

如何找到超過2個重復(fù)數(shù)字數(shù)組的索引并將索引處的項目轉(zhuǎn)換為升序?

滄海一幻覺 2023-05-25 16:36:33
讓arr = [' 1 ','5', '2' ,' 1 ','4',' 1 ','9',' 1 ', '2' ];output = [' 1 ','5', '2' ,' 2 ','4',' 3 ','9',' 4 ', '3' ];1在 arr 中是重復(fù)的。這樣, arr中的所有1都轉(zhuǎn)換為升序1,2,3,42在 arr 中也是重復(fù)的。這樣, arr中的所有2都轉(zhuǎn)換為升序2,3請?zhí)峁┮粋€演示。非常感謝您的細讀。
查看完整描述

3 回答

?
拉莫斯之舞

TA貢獻1820條經(jīng)驗 獲得超10個贊

您可以采用單循環(huán)方法,為下一個映射提供替換值。這種方法只接受數(shù)字,但如果需要,您可以將所有值轉(zhuǎn)換為數(shù)字


對于任何重復(fù)的數(shù)字,它從對象中獲取增加的值。


1, 5, 2, 1, 4, 1, 9, 1, 2

1        2     3     4

      2                 3

const

    array = [1, 5, 2, 1, 4, 1, 9, 1, 2],

    values = {},

    result = array.map(v => v in values ? ++values[v] : (values[v] = v));


console.log(...result);


查看完整回答
反對 回復(fù) 2023-05-25
?
DIEA

TA貢獻1820條經(jīng)驗 獲得超3個贊

let arr = ["1", "5", "2", "1", "4", "1", "9", "1", "2"];

let flag = {};

let ret = arr.map((x) => {

  x = +x;

  if (!flag[x]) {

    flag[x] = x;

    return x;

  } else {

    flag[x] += 1;

    return flag[x];

  }

}).map(x => x + "");

console.log(ret);


查看完整回答
反對 回復(fù) 2023-05-25
?
開心每一天1111

TA貢獻1836條經(jīng)驗 獲得超13個贊

使用Array.prototype.reduce,您可以獲得數(shù)組的重復(fù)索引信息input。

它將被獲取為這種格式。

{

  1: [0, 3, 5, 7],

  9: [2], ...

}


// Values are the duplicated index position.

根據(jù)該信息,您可以使用Array.splice如下函數(shù)替換該索引上具有 2 個以上重復(fù)項的數(shù)據(jù)。

const input = [ '1', '5', '2', '1', '4', '1', '9', '1', '2' ];


const duplicates = input.reduce((acc, curV, curI) => {

  acc[curV] ? acc[curV].push(curI) : acc[curV] = [curI];

  return acc;

}, {});


let output = [ ...input ];

Object.entries(duplicates).forEach(([ key, value ]) => {

  if (value.length > 1) {

    for (let index = 1; index < value.length; index ++) {

      output.splice(value[index], 1, (parseInt(key) + index).toString());

    }

  }

});


console.log(output);


查看完整回答
反對 回復(fù) 2023-05-25
  • 3 回答
  • 0 關(guān)注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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