Javascript JQuery-将JSON中的值转换为split(),然后更新var
我有一个JSON数组,其中有两个键和多个值,我想分割每个值,如果其中一个值存在,它会将var设置为1Javascript JQuery-将JSON中的值转换为split(),然后更新var,javascript,jquery,json,Javascript,Jquery,Json,我有一个JSON数组,其中有两个键和多个值,我想分割每个值,如果其中一个值存在,它会将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: [{
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代码>
我的完整代码可以找到
谢谢我必须说,这是一个设计非常笨拙的JSON结构
眼前的问题是
{
0:“法师”,
1: 0,
2:“英雄主义,暴击,法术能力”
}
此代码段实际上定义了一个对象文字,访问它的正确方法实际上是使用“.”,例如data.1、data.2,而不是使用方括号以数组方式访问
因此,将这些属性重命名为name、buff等将更有意义为什么mage
仅包含一个元素时是数组?我使用数组将类的“buff”存储在键2中,并在键1中声明该类是否在raid组中。对于键0,我使用它作为代码另一部分中对象的标识符。您可以使用数据[0]
,数据[1]
等访问该对象中的对象属性。使用“点访问”并不是“正确”的,因为它是唯一的方法——一般来说,它只适用于某些属性名称,而方括号表示法适用于所有属性名称。我对JSON和JQuery非常陌生-我正在学习,并且在某些方面遇到了困难-特别是数组-我认为这可能是存储每个类多个值(mage)的最佳方法。这不允许我发表更长的评论