asp 删除数组中的一元素

2024-12-20 00:07:16
推荐回答(4个)
回答1:

stra="123,A|234,B|455,C|567,D "
arrya=split(stra,"|")
stra=""
delstr="455,C"
for i=0 to ubound(arrya)
if arrya(i)<>delstr then
if stra<>"" then
stra=stra & "|" & arrya(i)
else
stra=arrya(i)
end if
end if
next

上边的是删除等于指定值的一组,当然也可以指定删除第一个元素(注:第一个的下标是0 第n个下标是n-1)
stra="123,A|234,B|455,C|567,D "
arrya=split(stra,"|")
stra=""
delid=2
for i=0 to ubound(arrya)
if i<>delid-1 then
if stra<>"" then
stra=stra & "|" & arrya(i)
else
stra=arrya(i)
end if
end if
next

回答2:

<%
'一个删除数组内元素的函数
Function moveR(farray,sarray)
a = Split(farray, ",")
Set dic = CreateObject("Scripting.Dictionary")
For k=0 To UBound(a)
   If a(k)<> "" Then dic.Add "_" & a(k), a(k)
Next
a = Split(sarray, ",")
For k=0 To UBound(a)
   If a(k)<> "" Then
    If dic.Exists("_" & a(k)) Then
     dic.Remove "_" & a(k)
    End If
   End If
Next
items = dic.Items()
Set dic = Nothing
moveR=Join(items, ",")
End Function
n1 = "a,b,1,11,12,13,14,15,16,17,19,20,22" 
n2 = "a,1,12,14,18,19,20"
response.write mover(n1,n2)
'用法
n1 = "a,b,1,11,12,13,14,15,16,17,19,20,22" 
n2 = "a,1"
response.write mover(n1,n2)
'结果是b,11,12,13,14,15,16,17,19,20,22
%>

原理:Split分隔逗号得出数组后,循环,跟N2同理,

循环再组装数组,值等于N2的值时,就不组进数组里。

回答3:






js删除数据组中一再的元素




//下面是一段php删除数据组中一再的元素

//要领一,用php自带的array_flip超简朴
print_r(array_flip(array_flip($array)));

//操作自定函数来实现
function delsame(&$array)
{
$i = 0;
while(isset($array[$i]))
{
$j = $i + 1;
while(isset($array[$j]))
{
if($array[$i] == $array[$j]) //假如发明后头有一再的元素
{
delmember($array, $j); //把它删除
$j--; //从头搜查补上来的元素是否是一再的
}
$j ++;
}
$i ++;
}
}
//
$array = array(1,1,1,1,2,2,3);
//print_r(delsame( $array ) );
function delmember(&$array, $id)
{
$size = count($array);
for($i = 0; $i <$size - $id - 1; $i ++)
{
$array[$id + $i] = $array[$id + $i + 1];
}
unset($array[$size - 1]);
}

//一款asp的删除数组中一再元素的函数
<%
Function moveR(farray,sarray)
a = Split(farray, ",")
Set dic = CreateObject("Scripting.Dictionary")
For k=0 To UBound(a)
If a(k)<> "" Then dic.Add "_" & a(k), a(k)
Next
a = Split(sarray, ",")
For k=0 To UBound(a)
If a(k)<> "" Then
If dic.Exists("_" & a(k)) Then
dic.Remove "_" & a(k)
End If
End If
Next
items = dic.Items()
Set dic = Nothing
moveR=Join(items, ",")
End Function
n1 = "a,b,1,11,12,13,14,15,16,17,19,20,22"
n2 = "a,1,12,14,18,19,20"
response.write mover(n1,n2)
%>

回答4:

x=rs("x") 'x为数组参数
y="一元素"
z=replace(x,y,"") '新数组