js查找空格在字符串中出现的位置,以及次数

例如下面的字符串,想要查找空格分别在什么位置,并且出现过几次,有什么方法吗,具体一点


var a = "s f g gghdf fhs"

var a = "s f g gghdf fhs"
undefined
let indexs = []
undefined
let count = 0
undefined
for (let i = 0; i < a.length-1; i++) {
    if(a[i]=== " "){
        indexs.push(i)
        count += 1
    }
}

undefined
indexs
(4) [1, 3, 5, 11]
count
4
function countTrim(str) {
      let countArr = [];
      for (let i = 0; i < str.length; i++) {
        if (str[i] === " ") countArr.push(i);
      }
      return countArr;
}

var a = "s f g gghdf fhs"
let position = countTrim(str);
console.log('所处位置', position)
console.log('空格出现次数', position.length)


        function chartAtStrFun(str, char){
            var index = str.indexOf(char)
            var num = 0, arr=[];
            while(index != -1) {
                arr.push(index);
                num++;
                index = str.indexOf(char, index + 1);
            }
            return {"次数": num,"位置":arr.join()};
        }
        var a = "s f g gghdf fhs";
        var result = chartAtStrFun(a, " ");
        console.log(result);//{次数: 4, 位置: '1,3,5,11'}

代码如下,注释已写

var a = "s f g gghdf fhs";
let pos = []; // 所在位置
for (let i in a) {
    // 遍历字符,如果字符的ascii为32则是空格,存入位置
    if (a[i].charCodeAt() === 32) pos.push(i);
}
console.log(`共有${pos.length}个空格,分别存放于下标${pos}`)

执行结果

img

如有帮助请采纳回答~