首页 > 解决方案 > 如何遍历数组以获取每个字符串的第一个字符

问题描述

我正在努力提取单词的第一个字母以形成首字母缩略词。我有一个数组来存储所有大写的单词,我需要做的是获取那些大写的字符。

我使用数组reduce()方法来获取大写字母。但我想得到由不同数字大写字母组成的所有首字母缩写词。

var words = ["In", "American", "Broadcast", "Company"];

var output = words.reduce((acronym, word) => {
  acronym += word.charAt(0);
  return acronym;
}, "");

这将产生一个输出IABC,但我们知道正确的首字母缩写词是ABC,所以我想我们可以C, BC, ABC, IABC在迭代中得到正确的首字母缩写词ABC吗?

标签: javascript

解决方案


要达到预期的结果,请使用以下反转数组选项并使用带有 unshift 数组方法的 reduce

  1. 使用 .reverse() 反转数组
  2. 使用reduce循环并将第一个字符添加到每次迭代的开头
  3. 加入每次迭代并推送到结果数组

工作代码示例供参考

var words = ["In", "American", "Broadcast", "Company"];
var result = []

var output = words.reverse().reduce((acronym, word, i) => {
  acronym.unshift(word.charAt(0))
  result.push(acronym.join(""))
  return acronym;
}, []);

console.log("result", result);

codepen - https://codepen.io/nagasai/pen/voXXYO?editors=1010


推荐阅读