作者UniFish (贡贡老盃)
看板Ajax
标题Re: [问题] JSON 使用问题(PHP 阵列 )
时间Mon Aug 22 00:44:20 2011
※ 引述《coldollsheep (加油加油^^)》之铭言:
: 各位大大好
: 我最近遇到一个问题 希望闲逛至此的朋友可以指导一二
: 我在写一个东西
: 就是 每一秒 把一张图 复制到 某一个座标
: 座标的X 跟 Y 都是随机的一到五的正整数 也就是有 25个可能性
: 但是在这个随机的过程中 有时会重复 例如说两次都是 (2,3)
: 那这样流程就不是我要的
: -----
: 如果是PHP,我会写一个阵列 $tmp[xy] = '';
: 每一次产生 xy 的时候我都会 array_key_exists一次。
: 判断键值是没有重复的
: OK没重复 我就会把加到阵列里面。
: -----
: 希望前辈可以指导 以此逻辑js该怎麽处理? 我希望可以应用到JSON
: -----
: 而我自己尝试是卡在哪个点呢?
: 我卡在我作出了xy之後 假设x=1,y=2
: key = x+'_'+y;
: tmpjson = { key : key }; //我不知道第二组xy产生之後怎麽加入tmpjson
: //会把第一组覆盖
: //我也不知道怎麽把它叫出来看看
: alert(tmpjson.key) 有成功显示出来 1_2
: //但是我以为key是变数阿...不是应该tmpjson.1_2?
: //第三个不会就是 我不知道怎麽判断有无此键值的JSON
: //目前想到 if (tmpjosn.key) 但是因为第二个问题 我觉得我这个方法不可行...
: //希望有人可以解答我 谢谢大大
: -----
: 我知道我第三个问题怎麽问了
: 我要怎麽怎麽判断tmpjson.某KEY的值是否存在
: 当那个某值是变数...XD
JS的Array,基本上不支援Hash,若要用Hash的方式硬作的话,弄成JSON的话
格式不对,每种语言处理状况不太一定
但若你的要作hash的值是数字的话,刚好符合JS的Array的规则
你的key就用x+y,不过是要用字串,例:1+2=12
另外要设一个物件,例:
function obj(x,y,data){
obj.x = x;
obj.y = y;
obj.data = data;//你要的data
}
然後设一个Array,假设是叫arr
var arr = [];
若你x,y生出来是3,5的话,就可以设:
arr[35] = new obj(3,5,data);
这个35若是用变数去代换的话,记得parseInt一下~
这样你只要用if(typeof(arr[35]) != 'undefined')
就可以判断那个值存不存在~
一点意见给你参考
而且转为JSON字串的格式也正确
--
好 吗 ▲ ◤ ˋ ◤ ˋ ▎ φhacoolman
好 养一只边境牧羊犬, 吗 / ● ● \ ▲ 养嘛养嘛养嘛
好就能常常换新手机喔! 吗 ▊/ ◣ ◤ ◣ ◤ \ ▏ 嘛养嘛养嘛
好 吗 │ │ ▍ 嘛养嘛养嘛
好边境不养吗好边境不◥吗▊ \ │ ▎ (●ω●)
好边境不养吗好边境不养吗 \ ︶︶ / ▏嘿~嘿~嘿~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.254.113.29