急问: JavaScript怎么算一个数组相对另一个数组的补集?

Dan1980 2005-07-08 09:36:12
如题.

比如现有二个数组, 并且假定各自元素互不重复.

var a = ["A", "B", "C", "D", "E", "F", "G"];
var b = ["A", "C", "E", "F"];

b是a的子集, 现在怎么得到b在a中的补集? 即, 如何得到["B", "D", "G"]?

急盼答复.
...全文
62 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dan1980 2005-07-08
太好了, 谢谢! 结贴.
回复
ice_berg16 2005-07-08
<script language="javascript">
<!--


Array.prototype.exist = function( v )
{
for(var i=0;i<this.length;i++)
{
if( this[i] == v )
return true;
}
return false;
}

Array.prototype.diff = function ( arr )
{
var res = [];
for(var i=0;i<this.length;i++)
{
if( !arr.exist( this[i] ) )
res.push( this[i] );
}
return res;
}

var a = ["A", "B", "C", "D", "E", "F", "G"];
var b = ["A", "C", "E", "F"];

alert(a.diff(b));
//-->
</script>
回复
发动态
发帖子
JavaScript
创建于2007-09-28

8.4w+

社区成员

Web 开发 JavaScript
申请成为版主
社区公告
暂无公告