簡體   English   中英

檢查字符串中是否有相等數量的2個字符

[英]Check for equal quantity of 2 characters in string

嗨,我正在嘗試在JS中創建一個函數,該函數接受一個字符串並檢查字符串中是否有相等數量的“ x”和“ o”。

到目前為止,我的代碼(無法正常工作):

const checkXo = (str) => {
  const y = 0;
  const z = 0;
  for (let x = 0, x < str.length, x++) {
    if (str.charAt(x) == "o") {
        y++;
    } else if (str.charAt(x) == "x") {
        z++;
    }
    }
    if (y === z) {
    return true;
  } else {
    return false;
}
}

checkXo("xxoo");

const定義了一個常數,因此您將無法更改yz值。 相反,您應該使用varlet

let y = 0;
let z = 0;

考慮以“功能性”方式進行:

const checkXo = (str, a, b) =>
  str.split('').filter(s => s === a).length ===
    str.split('').filter(s => s === b).length

用測試

checkXo('xxoo', 'x', 'o')    // return true
checkXo('stackoverflow', 'x', 'o')  // return false

請注意,一行代碼可以檢查相同數量的您選擇的'a,'b'中的任何字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM