数组查找元素及其删除元素

package 算法demo;

public class array {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
          long arr[];int j;
          arr=new long[100];
          arr[0]=0;
          arr[1]=11;
          arr[2]=22;
          arr[3]=33;
          arr[4]=44;
          arr[5]=55;
          int nElems=6;
     for(j=0;j<nElems;j++)       //for each elements
    	 System.out.println(arr[j]);
     //search for key
     int searchKey=33;
     for(j=0;j<nElems;j++)
    	 if(arr[j]==searchKey)
    		 break;
       if(j==nElems)
    	   System.out.println("can not find it 33");
       else
    	   System.out.print("can find it 33"+"其下标是:"+j);
       System.out.println("");
       //delete 22
       for(j=0;j<nElems;j++)
    	   if(arr[j]==22)
    		   break;
    	for(int k=j;k<nElems;k++)
    		arr[k]=arr[k+1];
    	nElems--;
    	for(j=0;j<nElems;j++)
    		System.out.print(+arr[j]+"");
	}

}

运行程序如下所示:




### JavaScript 删除数组元素的方法 在 JavaScript 中,删除数组中的元素可以通过多种方式实现。以下是几种常用的方法及其特点: #### 使用 `splice()` 方法 `splice()` 是一种非常强大且灵活的数组方法,可以直接修改原数组删除指定位置的元素。通过传递两个参数——起始索引和要删除元素数量,可以精确控制删除行为[^2]。 ```javascript let arr = [1, 2, 3, 4, 5]; console.log("原始数组:", arr); // 删除索引为 2 的单个元素 arr.splice(2, 1); console.log("删除单个元素后的数组:", arr); // [1, 2, 4, 5] // 删除从索引 1 开始的三个元素 arr.splice(1, 3); console.log("删除多个元素后的数组:", arr); // [1] ``` #### 使用 `filter()` 方法 如果不想直接修改原数组,可以选择使用 `filter()` 方法创建一个新的数组,其中不包含需要删除元素。这种方法不会影响原数组[^1]。 ```javascript let arr = [1, 2, 3, 4, 5]; // 创建新数组,过滤掉值为 3 的元素 let newArr = arr.filter(item => item !== 3); console.log(newArr); // [1, 2, 4, 5] ``` #### 使用 `delete` 操作符 虽然 `delete` 并不是专门为数组设计的操作符,但它仍然可以用来移除数组中的某个元素。需要注意的是,`delete` 不会缩短数组长度,而是在目标索引处留下一个 `undefined` 值[^5]。 ```javascript let arr = [1, 2, 3, 4, 5]; delete arr[2]; // 移除索引为 2 的元素 console.log(arr); // [1, 2, undefined, 4, 5] ``` #### 使用 `pop()` 和 `shift()` 方法 - **`pop()`**: 用于删除数组最后一个元素。 - **`shift()`**: 用于删除数组的第一个元素。 这两种方法都会直接影响原数组,并返回被删除元素。 ```javascript let arr = [1, 2, 3, 4, 5]; arr.pop(); // 删除最后一位 console.log(arr); // [1, 2, 3, 4] arr.shift(); // 删除第一位 console.log(arr); // [2, 3, 4] ``` #### 自定义函数结合 `indexOf()` 和 `splice()` 当需要根据具体值而非索引来删除元素时,可以先找到该值对应的索引再调用 `splice()` 进行删除[^4]。 ```javascript function removeElement(array, value) { const index = array.indexOf(value); if (index > -1) { array.splice(index, 1); } } let arr = [1, 2, 3, 4, 5]; removeElement(arr, 3); console.log(arr); // [1, 2, 4, 5] ``` --- ### 总结 每种方法都有其适用场景: - 如果需要按索引批量删除元素,推荐使用 `splice()`; - 若希望保持原数组不变,则可考虑 `filter()`; - 对于简单地移除首尾元素的情况,分别有 `shift()` 和 `pop()` 提供支持; - 当涉及复杂逻辑或者动态查找时,自定义函数配合 `indexOf()` 和 `splice()` 将更加高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值