在数组的字符串中计数,JavaScript
//解决 我有一个字符串数组。 我需要计算数组中每个字母中有多少个字母 我的职能:在数组的字符串中计数,JavaScript,javascript,arrays,string,algorithm,Javascript,Arrays,String,Algorithm,//解决 我有一个字符串数组。 我需要计算数组中每个字母中有多少个字母 我的职能: ... for (var k=0; k<=arrB.length; k++) { //Index of the array for(var t=0; t<arrB.length; t++) { if(p==arrB[k[t]]){ count++; }} }numb.push(count); } var inNu
...
for (var k=0; k<=arrB.length; k++) { //Index of the array
for(var t=0; t<arrB.length; t++) {
if(p==arrB[k[t]]){
count++;
}}
}numb.push(count);
}
var inNumber;
for(var q=0; q< numb.length; q++) {
if(numb[q]>0) {
var letterR=q+65; //Number in letter
inNumber=String.fromCharCode(letteR);
showResult(inNumber);
showResult(numb[q]);
...
。。。
对于(var k=0;k将每个字符串拆分为一个字母数组,一路上计算每次出现的次数
function countLetters(arr) {
return arr.reduce(function (counts, str){
str.split('').forEach(function (letter) {
counts[letter] ? counts[letter]++ : counts[letter] = 1;
});
return counts;
}, {});
};
// Example
var arr = ['ABC', 'BCD', 'CDE'];
console.log(countLetters(arr));
// Logs: Object {A: 1, B: 2, C: 3, D: 2, E: 1}
首先,在您的示例中,您有一个对象{}
而不是数组-请修复它。解决方案
var arr = ["ABC", "CAG", "ZXZ"];
var result = {};
arr.forEach(function(item) {
for(var i = 0; i < item.length; i++) {
var letter = item.charAt(i);
if (!result[letter]) {
result[letter] = 0;
}
result[letter] += 1;
}
});
var-arr=[“ABC”、“CAG”、“ZXZ”];
var result={};
arr.forEach(功能(项目){
对于(变量i=0;i
在字符串数组中计算字母应该非常简单。例如,您可以这样做:
var-arr=[“ABC”、“CAG”、“ZXZ”];
var letterCount=arr.reduce(函数(p,c){
对于(变量i=0;i },{};
那么问题到底是什么呢?你的语法错误可能是因为你的for
循环就在之前,如果有一个规则的方括号(
而不是卷曲的方括号{
。值得一提的是,JS有实际的bools。因此,没有isFalse=0
(这是一个奇怪的变量名称,但不管怎样)您可以实际使用isFalse=false
,然后再使用isFalse=true
(OP对Matt Burland的答案进行了完全非格式化的注释)如果我正确理解了这个问题,那么计数就更专业了。注意Z的预期结果。我认为这是一个输入错误。他最初说我有一个包含10个字符串的数组,每个字符串包含10个字母。我需要计算数组中每个字母的字母数。
不会打赌。lette有多少组r出现在中也将是一个有效的计数。@deceze:如果是这样,OP需要澄清这个问题。从技术上讲,他们也没有对象。这只是无效的语法。非常感谢!只有一个问题,我不需要比较这个p[c[I]]有什么?@DianaPapukchieva:No.未定义的
被认为是错误的。你为什么要把它放在这里?{}@DianaPapukchieva:reduce
函数的种子是一个空对象。多亏大家!函数countLetters(arr){var numb=new Array();var p;for(var n=65;n