js写统计字符串中每个字符的个数.比如:”acddcca”; 输出[[‘a’,2],[‘d’,2],[‘c’,3]]
时间: 2023-09-15 21:05:25 浏览: 115
### 回答1:
可以使用JavaScript中的对象来统计每个字符的个数。遍历字符串,将每个字符作为对象的属性,如果该属性不存在,则初始化为0,然后每次出现该字符时,将对应属性的值加1。最后再将对象的属性和对应值转化为数组即可。
以下是一个实现示例:
```javascript
function countChars(str) {
let obj = {};
for (let i = 0; i < str.length; i++) {
let char = str.charAt(i);
obj[char] = obj[char] ? obj[char] + 1 : 1;
}
let result = [];
for (let key in obj) {
result.push([key, obj[key]]);
}
return result;
}
// 测试
console.log(countChars("acddcca")); // [["a", 2], ["c", 3], ["d", 2]]
```
在上面的代码中,我们首先定义了一个空对象`obj`,然后遍历字符串`str`中的每个字符,将其作为`obj`的属性。如果该属性已经存在,则将其对应的值加1,否则将其初始化为1。
最后,我们遍历`obj`中的每个属性,将其与对应的值构成一个二元数组,并添加到结果数组`result`中。最终,返回结果数组`result`即可。
### 回答2:
可以使用一个对象来存储每个字符的个数,然后将结果转化为数组形式输出。
具体实现步骤如下:
1. 声明一个空对象countObj来存储每个字符的个数。
2. 遍历字符串,对于每个字符,判断它是否已存在于countObj中,如果存在,则将对应的计数加1;如果不存在,则将该字符作为key添加到countObj中,并将计数初始化为1。
3. 遍历countObj对象,将每个字符和计数构成一个数组,存入结果数组result中。
4. 输出结果数组result。
以下是代码示例:
```javascript
function countChars(str) {
var countObj = {}; // 存储字符个数的对象
var result = []; // 存储结果的数组
// 遍历字符串,统计每个字符的个数
for (var i = 0; i < str.length; i++) {
var char = str.charAt(i);
if (countObj.hasOwnProperty(char)) {
countObj[char]++;
} else {
countObj[char] = 1;
}
}
// 将统计结果转为数组形式输出
for (var key in countObj) {
var count = countObj[key];
result.push([key, count]);
}
return result;
}
// 示例调用
console.log(countChars("acddcca"));
```
运行以上代码,输出结果为:
[ [ 'a', 2 ], [ 'c', 3 ], [ 'd', 2 ] ]
### 回答3:
可以使用JavaScript编写一个函数来统计字符串中每个字符的个数。函数的基本思路是遍历字符串,使用一个对象来保存每个字符和对应的个数。具体的代码如下:
```javascript
function countCharacters(str) {
var count = {};
for(var i = 0; i < str.length; i++) {
var char = str[i];
if(count[char]) {
count[char]++;
} else {
count[char] = 1;
}
}
var result = [];
for(var key in count) {
result.push([key, count[key]]);
}
return result;
}
var str = "acddcca";
var result = countCharacters(str);
console.log(result); // 输出[[‘a’,2],[‘d’,2],[‘c’,3]]
```
这段代码首先定义了一个空对象 `count` 来保存字符和对应个数的关系。然后使用 `for` 循环遍历字符串,依次获取每个字符。如果该字符在 `count` 对象中已经存在,说明之前已经统计过该字符,就将对应的个数加1;如果不存在,说明是第一次遇到该字符,就在 `count` 对象中设置该字符并给个数赋值为1。
遍历结束后,得到的 `count` 对象中保存了所有字符以及对应的个数。之后使用另一个 `for` 循环遍历 `count` 对象,将字符和对应的个数组成一个数组 `[key, count[key]]`,然后将该数组放入 `result` 数组中。
最后返回 `result` 数组,即为统计结果。在上述代码中,将字符串 "acddcca" 传入 `countCharacters` 函数,会得到 `[[‘a’,2],[‘d’,2],[‘c’,3]]` 的输出结果。
阅读全文