分享
三行代码  ›  专栏  ›  技术社区  ›  Benk I

从映射函数-reactjs返回对象时出现意外的标记错误

  •  0
  • Benk I  · 技术社区  · 6 月前

    我正试图从返回字典/对象 map

    但是得到 Unexpected token

    我的代码示例是

    
    class App extends Component {
    
    
      render() {
    
        let a = [
        {
          "a": 123,
          "b": "99",
        }, {
          "a": 333,
          "b": "33",
        }
      ];
    
      a.map((value, key) => {
        return {`${key-text}`: value["a"]};
      });
    
        return (
          <div className="App">
            <header className="App-header">
              <img src={logo} className="App-logo" alt="logo" />
              <p>
                Edit <code>src/App.js</code> and save to reload.
              </p>
              <a
                className="App-link"
                href="https://reactjs.org"
                target="_blank"
                rel="noopener noreferrer"
              >
                Learn React
              </a>
            </header>
          </div>
        );
      }
    }
    

    return { ${键文本} : value["a"]}; 它显示出意想不到的迹象,这里有什么问题?

    3 回复  |  直到 6 月前
        1
  •  0
  •   Anees Muhammed    6 月前

    在map函数中 key-text 实际上是在寻找一个名为 关键文本 text key ,将其更改为此应该有效

    a.map((value, key) => {
      return {[`${key}-text`]: value["a"]};
    });
    

        2
  •  0
  •   Prakash Karena    6 月前

    //fault is in
    
    a.map((value, key) => {
        return {`${key-text}`: value["a"]};
    });
    
    //replace with
    
    a.map((value, index) => {
        return {`${index}`: value["a"]};
    });
    
    //here index is reference of object in array 

    我希望这对你有帮助。如果你有什么问题,请告诉我。

        3
  •  0
  •   Atul Sharma    6 月前

    您需要父对象来创建动态关键点。

    let a = [
        {
          "a": 123,
          "b": "99",
        }, {
          "a": 333,
          "b": "33",
        }
      ];
    
      a.map((value, key) => {
        let x = {};
        x[key+"-text"] = value["a"];
        console.log(x);
        return x;
      });
        4
  •  0
  •   vijay sadhu    6 月前

    这是你用过的 text 作为一个变量,但没有定义它。 所以你必须定义 地图上方的变量。

    Like

      const text = 0; // or whatever number you want.
      a.map((value, key) => {
        return {`${key-text}`: value["a"]};
      });
    

    OR

    你可以用 作为一个 string

    就像

      a.map((value, key) => {
        return {`${key}-text}`: value["a"]};
      });