My .JSON 随机返回一个冻结的对象

问题描述 投票:0回答:0

我有一个 JSON 文件,它是一个数组并包含 2 个对象,它们相同但“src”。

const data = dataFromJson[randomValue]

错误:未捕获类型错误:无法分配给对象“#”的只读属性“x”

我可以使用这两个对象,但随机一个被冻结,用

Object.isFrozen()
检查,我不知道为什么。

这里是代码。 params 是 react-redux 状态值,playerStats 是一个对象,numEvents 是一个数字。敌人是 json

function getRandomEnemy({ playerStats, numEvents }) {
    //Imports
    const enemy = enemies[Math.floor(Math.random() * enemies.length)]

const { trullyKarma, health, armor, lucky } = playerStats

//Functions
const calculateStatByKarma = valueStat => {
    const reduceByCantEvents = numEvents < 10 ? 0.8 + numEvents * 0.02 : 1

    const maxValue = valueStat * 1.8 * reduceByCantEvents,
        karmaMultiplier = trullyKarma > 0 ? 1 + trullyKarma * 0.05 : 1,
        statMultiplier = valueStat * 0.5

    const calculatedValue =
        maxValue - Math.random() * statMultiplier * karmaMultiplier

    return Math.floor(calculatedValue)
}

//Variables
const calculatedHealth = calculateStatByKarma(health)
const specialMovesProbs = lucky > 0 ? 15 : 15 + lucky * -1.5
const attack = health / 7

enemy.fullHealth = calculatedHealth
enemy.currentHealth = calculatedHealth
enemy.armor = calculateStatByKarma(armor)
enemy.attack = calculateStatByKarma(attack)
enemy.critickProb = specialMovesProbs
enemy.dodge = specialMovesProbs

return enemy
}

解决方法

const data = Object.assign({},dataFromJson[randomValue])

javascript reactjs object react-redux javascript-objects
© www.soinside.com 2019 - 2024. All rights reserved.