var str = 'To be, or not to be, that is the question.';var count = 0; // 出现的次数var countArr = []; // 出现的位置var targetChar = 'e';// 方法一var reg = new RegExp(targetChar, 'g');str.replace(reg, function(item, index){ count ++; countArr.push(index); return item;})console.log(count, countArr); // 4 [4, 18, 31, 35]// 方法二count = 0;countArr = []];var pos = str.indexOf(targetChar);while(pos>=0){ count ++; countArr.push(pos); pos = str.indexOf(targetChar, pos+1);}console.log(count, countArr); // 4 [4, 18, 31, 35]// 方法三count = 0;countArr = [];var arr = str.split('');for(var i=0, len=arr.length; i