作者cjcat2266 (CJ Cat)
看板Flash
標題Re: [問題] 我想比較兩個陣列的不同?
時間Sat Oct 9 21:02:33 2010
※ 引述《kaiyine (yumi)》之銘言:
: 陣列a是5,2,6,8,4
: 陣列b是0,1,2,3,4,5,6,7,8,9,10
: 我要如何列出陣列a缺少0,1,2,3,7,9,10呢?
這就是"集合"的問題了
同上一篇回文所說的,可以用associative array
(如果是AS3就可以用Dictionary class,相當於C++的map class)
其實可以更簡短的寫
(以下code未經過測試,可能有錯字)
var a:Array = [5, 2, 6, 8, 4];
var b:Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
//集合物件
var obj:Object = new Object();
var i:Number, len:Number;
//讓a的元素作為key,跟true值產生關連
for (i = 0, len = a.length; i < len; ++i) {
obj[a[i]] = true;
}
//尋找"a沒有,b有的元素"
for (i = 0, len = b.length; i < len; ++i) {
//若obj[b[i]]沒有關聯值,那就是undefined,!undefined == true
if (!obj[b[i]]) {
trace("a沒有含" + b[i]);
}
}
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Blog
http://cjcat.blogspot.com
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.62.43
※ 編輯: cjcat2266 來自: 114.36.62.43 (10/09 21:04)
推 ComicMan:AS3強 CJcat強 10/09 21:36
推 hpuser:受教! 10/10 01:53