让自己在这里感到困惑。
我有一个字母串,我正在使用.split来形成一个数组。
1:new bubble:143:753:3:rgba(65,146,160,0.7)|2:new bubble:370:949:3:rgba(174,76,221,0.7)|3:new bubble:557:940:3:rgba(55,33,11,0.7)|4:new bubble:494:1170:3:rgba(61,68,191,0.7)|5:new bubble:431:736:3:rgba(233,54,149,0.7)|6:new bubble:236:836:3:rgba(14,133,141,0.7)|
字符串包含我所谓的“气泡”,每个气泡被|分开所以你可以看到有6个气泡(和一个空白的气泡)
然后我再次使用.split使用:作为分割。所以我有效地拥有一个可以加载到变量中的数组;
Array
bubble[0]{
id = bubbleinfo[0],
name = bubbleinfo[1],
posx = bubbleinfo[2],
posy = bubbleinfo[3],
priority = bubbleinfo[4],
color = bubbleinfo[5]
}
bubble[1]{
id = bubbleinfo[0],
name = bubbleinfo[1],
posx = bubbleinfo[2],
posy = bubbleinfo[3],
priority = bubbleinfo[4],
color = bubbleinfo[5]
}
bubble[2]{
id = bubbleinfo[0],
name = bubbleinfo[1],
posx = bubbleinfo[2],
posy = bubbleinfo[3],
priority = bubbleinfo[4],
color = bubbleinfo[5]
}
bubble[3]{
id = bubbleinfo[0],
name = bubbleinfo[1],
posx = bubbleinfo[2],
posy = bubbleinfo[3],
priority = bubbleinfo[4],
color = bubbleinfo[5]
}
bubble[4]{
id = bubbleinfo[0],
name = bubbleinfo[1],
posx = bubbleinfo[2],
posy = bubbleinfo[3],
priority = bubbleinfo[4],
color = bubbleinfo[5]
}
bubble[5]{
id = bubbleinfo[0],
name = bubbleinfo[1],
posx = bubbleinfo[2],
posy = bubbleinfo[3],
priority = bubbleinfo[4],
color = bubbleinfo[5]
}
bubble[6]{
id = bubbleinfo[0],
name = bubbleinfo[1],
posx = bubbleinfo[2],
posy = bubbleinfo[3],
priority = bubbleinfo[4],
color = bubbleinfo[5]
}
所以基本上它们是如何形成的。我还是假设了。
我的问题是,我需要通过选择第二个数组维度的“id”来更新名称,posx,posy,优先级和颜色
所以psudo代码就像是
foreach bubble[i]
do
if ID = $_post[ID]
get element 3 - replace new value
get element 2 - replace new value
i++
有人了解我吗?如果你这样做,请你能帮助我。因为我不知道如何构建这个函数来构建它。
感谢
欧文
答案 0 :(得分:0)
如果我正确理解你的问题,jQuery.each可以为你做这件事: -
$.each([52, 97], function(index, value) {
alert(index + ': ' + value);
});
您可以在此处找到更多信息:http://api.jquery.com/jQuery.each/
一个更清晰的例子:
var idYouAreLookingFor=2;
$.each(bubble, function(index, value) {
if(value.id==idYouAreLookingFor)
{
value.name='test';
//profit.
}
});
答案 1 :(得分:0)
这是我的建议:
使用JSON作为存储格式。现在,我不知道哪个值是哪个,但这里是JSON编码数据的示例:
[{"posx": 143,"posy": 753,"priority": 3, "color": "rgba(65,146,160,0.7)"}, ...]
然后,您可以使用JSON.parse
[MDN]从此数据创建JavaScript对象,如下所示:
// var obj = JSON.parse(json); is the same as:
var obj = [
{
posx: 143,
posy: 753,
priority: 3,
color: "rgba(65,146,160,0.7)"
},
...
];
您的“气泡”的ID似乎也是连续的,从1开始。如果使它们从零开始,则不必显式存储它们。 ID将是数组中的索引。
然后您可以像这样更改值:
obj[id].posx = newvalue;
obj[id].posy = another_newvalue;
然后使用JSON.stringify
[MDN]序列化整个数组:
var json = JSON.stringify(obj);
并将其存储在Cookie中。
JSON
适用于json2.js
的旧版浏览器。