用字典中的单词替换数组中的单词

时间:2018-04-15 22:29:45

标签: javascript arrays angular typescript

我有一个来自公共API的JSON输出,它返回代码而不是字符串。我能够将我需要的字符串放入数组中,得到:

OutNames = ["f1", "c2", "b3"]

基于PDF,我想将代码翻译成单词,这样我就可以生成一个列表来显示它。

dictionary : any =  {"f1": "Baseball", "b3" : "Soccer" ,"c2": "Football"}

我尝试以下操作,但总是出错。

this.OutNames = this.OutNames

      .map(function(each_element){
        each_element.replace(/[a-z]/gi, k => dictionary[k])});

期望的结果:

Array = ["Baseball", "Football", "Soccer"]

1 个答案:

答案 0 :(得分:1)

你有正确的想法。您只需要从map()返回字典查找。无需致电replace()map()将返回一个新数组 - 如果需要,您可以覆盖旧值,但在这里我只是分配了一个不同的变量以使其更清晰。



OutNames = ["f1", "c2", "b3"]

dictionary = {
  "f1": "Baseball",
  "b3": "Soccer",
  "c2": "Football"
}
let replaced = OutNames.map(el => dictionary[el])
console.log(replaced)