'How to repeat characters in a string in javascript by using slice function?

Can anyone shed light on how to frame a javascript function with two parameters: string and character, and only by using the slice method, return the number of times "a" appears in "lava"?



Solution 1:[1]

without slice method

var fruits= "lavaaagg";
var count=0;
for(var i=0;i<fruits.length;i++){
  if(fruits[i]!='a')
      count++;
 }
console.log(fruits.length-count);

Solution 2:[2]

I'm not sure why you need the slice method. The slice method isn't for searching substrings (or characters in your case), it extracts a substring. This should work fine:

function howManyCharInStr(str, char) {
  return str.split(char).length - 1;
}

Step-by-step explanation:

str.split(char)

Creates an array of str substrings, using char as a separator. For example:

'fooXbazXbar'.split('X')
// Evaluates to ['foo', 'baz', 'bar']
'lorem ipsum dolor'.split('m')
// Evaluates to ['lore', ' ipsu', ' dolor']

Notice how the array returned has a length of n+1 where n is the number of separators there were. So use

str.split(char).length - 1;

to get the desired result.

Solution 3:[3]

For getting number of charecters count

 <script type="text/javascript">
    function FindResults() {
        var firstvariable= document.getElementById('v1');
        var secondvariable = document.getElementById('v2');
        var rslt = GetCharecterCount(firstvariable, secondvariable );
    }
    function GetCharecterCount(var yourstring,var charecter){
          var matchesCount = yourstring.split(charecter).length - 1;
    } 
 </script>

using slice method

var arr = yourstring.split(charecter);

for( var i = 0, len = arr.length; i < len; i++ ) {
    var idx = yourstring.indexOf( arr[i] );
    arr[i] = pos = (pos + idx);
    str = str.slice(idx);
}

var x= arr.length-1;

example http://jsfiddle.net/rWJ5x/2/

Solution 4:[4]

Using slice method

function logic(str,char){
  var count = 0;
  for(var i = 0; i < str.length; i++){
    if(str.slice(i,i+1) == char){
      count++;
    }
  }
  return count;
};
console.log( "count : " + logic("lava","a") );

Solution 5:[5]

repeat last character of sting n number of times..

function modifyLast(str, n) {
    var newstr = str.slice(-1)
    var newlaststr = newstr.repeat(n-1)
    var concatstring = str.concat(newlaststr);
    return concatstring;
}
//modifyLast();
console.log(modifyLast("Hellodsdsds", 3))

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Mahi
Solution 2
Solution 3
Solution 4
Solution 5 S Gabale