首页 > 解决方案 > 如何遍历字符串并将字符推送到对象

问题描述

我正在尝试创建一个函数,在该函数中我接受一个包含元音的字符串并对其进行迭代,然后将元音推送到一个对象中。我正在使用 forEach 循环(我不能使用任何其他类型的循环)来检查每个字符以检查字母并查看它是否是元音,如果是,我将元音字符设置为等于对象键和数量元音出现的次数将是该值。到目前为止,这是我的代码:

function vowelCount(str) {
  let obj = {}
  str.split(' ')
  str.forEach(function(val) {
    obj.val = 'hi'
    
  })
  return obj
}

我知道还有很多工作要做,但我不确定如何将键设置为等于元音并将出现次数设置为值。

标签: javascript

解决方案


function vowelCount(str) {
  const vowels = { a: 0, e: 0, i: 0, o: 0, u: 0 };

  str.split('').forEach((ch) => {
    if (vowels[ch]) {
      vowelCount++;
    }
  });

  return vowels;
}

如果您愿意,您可以随时过滤值以排除零计数。并且不要害怕用于迭代的其他函数,例如:

const vowelCount = (str = '') =>
  str.split('').reduce(
    (vowels, ch) => {
      if (vowels[ch]) {
        vowels[ch]++;
      }
      return vowels;
    },
    { a: 0, e: 0, i: 0, o: 0, u: 0 }
  );

推荐阅读