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

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

計算 Javascript 中所有字符串字符在字符串中使用字符的次數(shù)

計算 Javascript 中所有字符串字符在字符串中使用字符的次數(shù)

繁星淼淼 2022-06-09 19:04:53
編寫一個名為 strLetterCount 的函數(shù),它接受一個字符串并返回一個新字符串,每個字符后跟它在字符串中出現(xiàn)的次數(shù)。例如:strLetterCount("taco"); // "t1a1c1o1"我的代碼在這里偏離了標記,但這就是我得到的......我將繼續(xù)尋找每個字母,然后嘗試返回正確的字符串。我知道這不是解決問題的好方法。有什么幫助嗎?function strLetterCount(str) {  var countA = 0;  var countB = 0;  var countC = 0;  var countD = 0;  var countE = 0;  var countF = 0;  var countG = 0;  var countH = 0;  var countI = 0;  var countJ = 0;  var countK = 0;  var countL = 0;  var countM = 0;  var countN = 0;  var countO = 0;  var countP = 0;  var countQ = 0;  var countR = 0;  var countS = 0;  var countT = 0;  var countU = 0;  var countV = 0;  var countW = 0;  var countX = 0;  var countY = 0;  var countZ = 0;  for (var i = 0; i < str.length; i++);  if (str[i] === 'a') {    countA++;  }  for (var i = 0; i < str.length; i++);  if (str[i] === 'b') {    countB++;  }  for (var i = 0; i < str.length; i++);  if (str[i] === 'c') {    countC++;  }  return {"a":countA,"b":countB,"c":countC}}console.log(  strLetterCount("The quick brown fox jumps over the lazy dog"))  
查看完整描述

3 回答

?
慕神8447489

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

只需遍歷字符串的每個字符,并將它們計數(shù)到一個對象中。


一個簡單的解決方案是:


let str = "The quick brown fox jumps over the lazy dog";


const count = string => {

  const characters = {};

  for (let character of string) {

    characters[character] = characters[character] + 1 || 1;

  }

  return characters;

}


console.log(count(str));


您可以將結果用作:


let result = count(str);

console.log(result["o"]); // 4

更新


如果您需要字符串輸出,一種選擇是使用第二個循環(huán)來寫出結果:

let str = "The quick brown fox jumps over the lazy dog";


const count = string => {

  const characters = {};

  let str = "";

  

  for (let character of string) {

    characters[character] = characters[character] + 1 || 1;

  }

  for (let key in characters) {

    str += `${key}${characters[key]}`

  }

  return str;

}


console.log(count(str));


或者,如果您只是簡單地不關心格式:


return JSON.stringify(characters);


查看完整回答
反對 回復 2022-06-09
?
慕尼黑5688855

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

我認為最簡單和最易讀的


const countChars = str => {

  const chars = {};                  // create a counter object

  const arr = str.split("");         // make an array from the characters

  arr.forEach(char => chars[char] = ++chars[char] || 1) // add counters to counter object


  return arr                         // return the array but first

    .map(char => char + chars[char]) // map to counters

    .join("");                       // and then join to string

}


console.log(countChars("Now is the time"));


按第一次出現(xiàn)的順序減少到只是 char + number


const countChars = str => {

  const chars = {};                  // create a counter object

  const arr = str.split("");         // make an array from the characters

  arr.forEach(char => chars[char] = ++chars[char] || 1) // add counters to counter object

  return Object.keys(chars)          // return the chars

    .map(char => char + chars[char]) // concatenated with counters

    .join("");                       // and then join to string

}

console.log(countChars("woof the looping loop"));


查看完整回答
反對 回復 2022-06-09
?
汪汪一只貓

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

Object.entries()您可以使用,reduce()和flat()方法嘗試此操作:


function strLetterCount(str) {

  return Object.entries([...str].reduce(function(ac, s) {

    ac[s] = ++ac[s] || 1

    return ac;

  }, {})).flat().join('')

}


console.log(strLetterCount("taco"))

console.log(strLetterCount("chocotaco"))

解釋:

  1. 使用[...str]我們首先將字符串轉換為數(shù)組。

  2. 然后使用.reduce()我們試圖將每個字符串元素的計數(shù)和存儲到一個對象中,例如:

    {t: 1, a: 1, c: 1, o: 1}
  3. 然后使用Object.entries()我們得到如下數(shù)據(jù):

    [["t", 1], ["a", 1], ["c", 1], ["o", 1]]
  4. 最后使用flat()&join()我們得到所需的輸出格式為字符串t1a1c1o1


查看完整回答
反對 回復 2022-06-09
  • 3 回答
  • 0 關注
  • 206 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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