JQuery - 从JSON到split()的值然后更新var

时间:2014-03-08 03:38:42

标签: javascript jquery json

我有一个JSON数组,其中2个键和多个值,我想分割每个值,如果其中一个值存在,那么它会将var设置为1.

var heroism = 0;
var stats = 0;
var crit = 0;
var stamina = 0;
var spellPower = 0;
var spellHaste = 0;
var mastery = 0;
var attackPower = 0;
var attackHaste = 0;

var classes = {
    mage: [{
        0: "mage",
        1: 0,
        2: "heroism, crit, spellPower"
    }],
...
};

    $.each(classes, function (key, data) {
        $.each(data, function (index, data) {
            if (data[1] == 1) {
                var i = 0;
                var getBuffs = data[2].split(', ');
                $.each(getBuffs, function (key, data) {

                // update relevant var to 1
                data[i] = 1;
                i++;

            });
            $.each(getBuffs, function (key, data) {
                $.each(data, function (index, data) {
                    console.log('index', data);
                });
            });

        } else if (data[3] == 1) {
            //do something else   
        }
    });
});

目前正在做的是将每个字母作为数组对象而不是整个单词。我认为这部分是错误的data[i] = 1;

我的完整代码可以找到here

由于

1 个答案:

答案 0 :(得分:0)

我必须说这是一个非常笨拙的JSON结构。

这里的直接问题是

{         0:“法师”,         1:0,         2:“英雄主义,暴击,法术能力” }

这个片段实际上定义了一个对象文字,访问它的正确方法实际上是使用'。',例如data.1,data.2,而不是使用方括号以数组方式访问。

因此,将这些属性重命名为name,buff等等更有意义