代码之家  ›  专栏  ›  技术社区  ›  Hykilpikonna

typescript:如何将属性添加到以字符串作为标识符的类中

  •  -1
  • Hykilpikonna  · 技术社区  · 6 年前

    我有一个字符串值列表,它们代表我要添加到类中的字段的标识符。

    例如:

    我有一个字符串数组:

    let stringArr = ['player1score', 'player2score', 'player3score'];
    

    在一些转换代码之后,我希望结果如下:

    {player1score: 100, player2score: 100, player3score: 100}
    

    我该怎么办?

    let row = {};
    stringArr.forEach(player => {
        // What should I do here?
        // something like row.addProp(player, score)?
    });
    

    注:

    我必须进行这种转换,因为我需要使用V形图显示数据的图表,并且最后的行数据必须如下所示:

    let rows = [
        {time: ..., player1score: ..., player2score: ..., player3score: ...},
        ...
    ];
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   smac89    6 年前

    只需在对象中创建一个具有所需值的新键

    let row = {};
    stringArr.forEach(player => {
        row[player] = 100;
    });
    
        2
  •  1
  •   Gone    6 年前

    可以使用javascript的括号符号创建对象:

    let stringArr = ['player1score', 'player2score', 'player3score'];
    let row = {};
    stringArr.forEach(player => row[player] = 100);
    // row = {player1score: 100, player2score: 100, player3score: 100}
    

    MDN 了解更多详细信息。

        3
  •  0
  •   Code Maniac    6 年前

    在现代浏览器中,您可以 Object.fromEntries()

    let stringArr = ['player1score', 'player2score', 'player3score'];
    
    let obj = Object.fromEntries(stringArr.map(val => [val, 100]))
    
    console.log(obj)
    推荐文章