EDA365电子论坛网
标题:
请问如何把A中含有的B数组的元素去除?
[打印本页]
作者:
henri
时间:
2020-7-6 13:49
标题:
请问如何把A中含有的B数组的元素去除?
有2个行/列向量,一组较长为A一组较短为B,请问如何把A中含有的B数组的元素去除?我记得matlab中可以用intersect函数来得到2个数组的交集(2个中相同的元素),这种是用哪个函数?请教大神,非常感谢!
6 e9 R4 n0 l& X; I. y- g: j- c
5 a' f. v6 E$ B8 h
作者:
bookbook
时间:
2020-7-6 15:06
var a=[1,2,3,4,5,6];
- c" o# G1 x4 g; J) y; R
var b=[2,3,6];
7 |- s0 a# b% b3 \
var c =[];
0 x2 t) \; V$ K6 n, o
for(var i=0;i<a.length;i++){
/ u( F4 m% \; j4 g9 f2 N
var has = false;
" ]: f7 }- @% I
var data = a[i];
2 W, {- |8 m4 M4 f. m
//判断baic中是否有du元素data
2 V, _) T9 q: l% K# s! e* L+ `# z
for(var j=0;j<c.length;j++){
) @( [. A% z/ W: Q4 W: I1 h
if(data ==c[j]){
/ B d- s5 }" {5 A9 Z2 Z" |
has =true;
% `% Z0 N/ \- M9 L& \
break;
) W* v5 K; s3 t1 f/ ]8 f8 x3 D
}
5 g# u0 M( n/ B( c; H' b* }
}
) O* z# R9 o* S8 y, }+ O3 y
//如果zhi没有
, U, W; ~6 L. J6 w4 O
if(has==false){
" \1 _' R+ \) R7 y: l
c.push(data);
7 |9 c; f# t/ A0 D' S$ |+ n$ m0 d- B
}
9 K. N% x: b# b) _% l2 E
}
5 d/ _7 |* J% s, u9 o1 {1 D
for(var i=0;i<b.length;i++){
8 I+ D$ J& C2 W$ q. ^; v) Z
bool has = false;
2 u% b; [) t( L+ \
var data = a[i];
9 f4 r# b+ k9 O0 q
//判断c中是否有元素data
" a- K+ ?% _# h9 f
for(var j=0;j<b.length;j++){
% m8 ^* H/ p& q5 c) Y
if(data ==b[j]){
# h/ e2 H$ F: L$ k7 `$ i: I
has =true;
& w7 \# u7 a* Y4 E% k0 d% W: f
break;
& u4 i4 a7 y( F& K8 }. x/ c
}
$ f# m/ _. X! O) m0 S
}
7 N. \& d# |7 l! V& q! n% `) Z- j
//如果没有
0 L; F) G8 ?( d8 l* Z
if(has==false){
( S" h7 n9 i5 J
c.push(data);
" L% B5 W6 ^2 X+ e2 L" _, o3 p
}
4 z( v4 s( F( Z/ `. m# v# I- i
}
8 N, H( ?8 B, s {; y( }
//最后c就是结果
作者:
Ferrya
时间:
2020-7-6 15:27
根据intersect返回的索引,将A中的相同数据置空就好了。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2