首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript转换文本数组

javascript转换文本数组
EN

Stack Overflow用户
提问于 2018-02-12 23:44:16
回答 3查看 54关注 0票数 0

我使用了一个像这样工作的react组件

代码语言:javascript
复制
<FontAwesomeIcon icon={faCoffee} />

它采取字体可怕的图标,让说地址簿它添加fa之前,删除连字符和大写每个世界的第一个字母。

代码语言:javascript
复制
   address-book become faAddressBook
   copyright become faCopyright
   arrow-alt-circle-down become faArrowAltCircleDown

是否可以创建一个javascript函数,该函数接受这样的数组

["address-book","copyright","arrow-alt-circle-down"]

并将其转换成这样的数组

["faAddressBook","faCopyright","faArrowAltCircleDown"]

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-13 00:02:02

有一些方法可以做到。比如使用正则表达式。但是,您的需求很简单,所以可以很容易地使用JavaScript拆分方法来完成。请检查下列已实现的功能。

代码语言:javascript
复制
function formatArray(str) 
{
    str = str.split("-");

    for (var i = 0, x = str.length; i < x; i++) {
        str[i] = str[i][0].toUpperCase() + str[i].substr(1);
    }

    return 'fa' + str.join("");
}
var givenArr = ["address-book","copyright","arrow-alt-circle-down"];
for( var i = 0; i < givenArr.length; i++) {
  givenArr[i] = formatArray(givenArr[i]);
  console.log(givenArr[i]+ '\n');
}

票数 1
EN

Stack Overflow用户

发布于 2018-02-13 00:00:37

您可以使用Arraymap()forEach()执行以下操作

代码语言:javascript
复制
var arr = ["address-book","copyright","arrow-alt-circle-down"];

function upperCase(string) {
  return string.charAt(0).toUpperCase() + string.slice(1);
}

var outPut = arr.map(function(item){
  var temp = item.split('-');
  var temp2 = [];
  temp.forEach(function(data){
    temp2.push(upperCase(data))
  });
  return 'fa' + temp2.join('')
})
console.log(outPut);

票数 1
EN

Stack Overflow用户

发布于 2018-02-13 00:02:30

看上去这里有两个基本步骤。首先,我们需要在每个字符串上加上fa,其次,我们需要将它们从kebab-case转换为camelCase。

因此,只需为每个转换编写一个函数,然后使用每个转换通过映射运行数组:

代码语言:javascript
复制
const kebabs = ["address-book","copyright","arrow-alt-circle-down"];

function kebabToCamel(str) {
    return str.replace(/-(\w)/g, m => m[1].toUpperCase()); 
}

function prependFa(str) {
    return "fa-" + str;
}

console.log(kebabs.map(prependFa).map(kebabToCamel))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48757389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档