【问题标题】:Push an object from an array into another array javascript将一个对象从一个数组推送到另一个数组javascript
【发布时间】:2020-08-23 09:49:20
【问题描述】:

我在将对象推入数组时遇到问题。我正在从本地 .json 文件中获取一组对象。我正在尝试创建一个将给定对象推送到数组中的函数,以便以后可以使用它。

这就是我接收对象的方式。

{id: 3176, name: "Matthias Ginter", position: "Defender", dateOfBirth: "1994-01-03T00:00:00Z", countryOfBirth: "Germany", …}
countryOfBirth: "Germany"
dateOfBirth: "1994-01-03T00:00:00Z"
id: 3176
name: "Matthias Ginter"
nationality: "Germany"
position: "Defender"
role: "PLAYER"
__proto__: Object

我在 React 中的代码:

{data.map(
                        (player) => (
                            player.position == null ? (player.position = "Coach") : null,
                            (
                                <PlayerCard
                                    name={player.name}
                                    position={player.position}
                                    dateOfBirth={player.dateOfBirth}
                                    nationality={player.nationality}
                                    id={player.id}
                                    handleClick={() => selectedPlayers.push(player)}
                                />
                            )
                        )
                    )}

以及我要推入的数组:

let selectedPlayers = [
        {
            id: 3176,
            name: "Matthias Ginter",
            position: "Defender",
            dateOfBirth: "1994-01-03T00:00:00Z",
            countryOfBirth: "Germany",
            nationality: "Germany",
            role: "PLAYER",
        },
        {
            id: 3176,
            name: "Mat Giensien",
            position: "Defender",
            dateOfBirth: "1994-01-03T00:00:00Z",
            countryOfBirth: "Germany",
            nationality: "Germany",
            role: "PLAYER",
        },
    ];

如果我这样做handleClick = {() =&gt; {console.log(player)}},我会得到如上所示的对象。我错过了什么?!

我通读了 SO 中的所有主题,但找不到适合我的解决方案。我已经尝试了其他主题中所有推荐的方法,但它们仍然不适合我。

请,再见 :)

【问题讨论】:

  • 嗨,你们能提供最少的工作吗? stackoverflow.com/help/minimal-reproducible-example
  • 你好拉克什。基本上我正在尝试使用中间的代码或更具体地说是handleClick={() =&gt; selectedPlayers.push(player)} 将对象(代码的顶部)推入对象数组(代码的底部)

标签: arrays reactjs object push


【解决方案1】:
{data.map(player => {
    return (
        <PlayerCard
            name={player.name}
            position={player.position ? "Coach" : null}
            dateOfBirth={player.dateOfBirth}
            nationality={player.nationality}
            id={player.id}
            handleClick={() => selectedPlayers.push(player)}
        />
    )
)}

【讨论】:

  • 恐怕没有帮助:/
  • @DenisDenchev 太糟糕了。我赞成你的知名度。祝你好运!
【解决方案2】:

试试这个:

let selectedPlayers = [
    {
        id: 3176,
        name: "Matthias Ginter",
        position: "Defender",
        dateOfBirth: "1994-01-03T00:00:00Z",
        countryOfBirth: "Germany",
        nationality: "Germany",
        role: "PLAYER"
    },
    {
        id: 3176,
        name: "Mat Giensien",
        position: "Defender",
        dateOfBirth: "1994-01-03T00:00:00Z",
        countryOfBirth: "Germany",
        nationality: "Germany",
        role: "PLAYER"
    }
];

let newData = {id: 9999, name: "bob jones", position: "goalkepper", dateOfBirth: "2020-01-03T00:00:00Z", nationality: "Spain", role: "MANAGER"}

 selectedPlayers.push(newData);


 console.log( selectedPlayers );

您可能必须弄乱接收对象的格式以及您要推入的对象以使 iy 正常工作。但是,如果您可以控制代码和 JSON 文件,那么这应该不是问题...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-02
    • 2014-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 2018-02-05
    相关资源
    最近更新 更多