数据结构:线性表删除操作的php和js实现

本文介绍了一种在JavaScript中手动删除数组指定元素的方法,通过将后续元素向前移动来覆盖待删除元素,最后减少数组长度,实现了删除操作而不使用内置的shift方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天处理js的时候,我想摘除数组里的一个元素,然后保持队列不变化,并且长度减一,js只有shift,不符合我的要求,只删除数组元素,值设为空了,并且长度不变化。所以自己实现了一个线性表的删除操作。

没办法,临时看了篇数据结构的文章:http://student.zjzk.cn/course_ware/data_structure/web/xianxingbiao/xianxingbiao2.2.2.2.htm

写下了如下算法,有js版和php版,原理一样,就是数组元素从后往前移,覆盖掉需要删除的节点,然后总数减少,js和php实现机制稍微不同。

[ PHP版 ]

function delete_array_element($array, $i)
{
$len = count($array);
for ($j=$i; $j<$len; $j++)
{
$array[$j] = $array[$j+1];
}
array_pop($array);
return $array;
}

[ JavaScript版 ]

function delete_array_element(arrayData, i){
var j;
for(j=i; j<arrayData.length; j++){
arrayData[j] = arrayData[j+1];
}
--arrayData.length;
return arrayData;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值