javascript数组增删改查

本文介绍了一种在JavaScript中自定义实现数组的增删改查操作的方法,通过扩展Array.prototype来实现insert、delete和modify等实用功能。

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


//增

Array.prototype.insert = function(index,item){
      var args = (Array.prototype.slice.call(arguments));
     args.splice(1,0,0);
    return Array.prototype.splice.apply(this,args)
}

var arr = [2,1,5];

//插入单个元素

arr.insert(1,3);

console.log(arr);

//插入多个元素

arr.insert(1,3,4);

console.log(arr);


//删

Array.prototype.delete = function(index,num){

      return this.splice(index,num)

}

//demo

//删除单个元素

var arr = [2,1,5];

arr.delete(1,1);

console.log(arr);

//删除连续多个元素

var arr = [2,1,5];

arr.delete(1,2);

console.log(arr);



//改

Array.prototype.modify = function(index,num,item){

  return this.splice(index,num,item);

}

var arr = [2,1,5];

arr.modify(1,1,4);

console.log(arr);


//查

//根据值查找序号



### JavaScript 数组增删改查操作 #### 增加元素 对于增加数组中的元素,JavaScript 提供了几种不同的方式: - **`push()`**: 向数组末尾添加一个或多个元素,并返回新长度。 ```javascript let arr = [1, 2]; arr.push(3); console.log(arr); // 输出: [1, 2, 3] ``` - **`unshift()`**: 将一个或多个元素添加到数组开头,并返回新长度。 ```javascript let arr = [1, 2]; arr.unshift(0); console.log(arr); // 输出: [0, 1, 2] ``` - **`splice()`**: 可以用来向指定位置插入任意数量的新项[^1]。 ```javascript const arr9 = ['a', 'b', 'c']; arr9.splice(1, 0, 'new'); console.log(arr9); // 输出: ["a", "new", "b", "c"] ``` #### 删除元素 删除数组内的元素同样可以通过多种方法实现: - **`pop()`**: 移除最后一个元素并返回该元素值。 ```javascript let arr = [1, 2, 3]; arr.pop(); console.log(arr); // 输出: [1, 2] ``` - **`shift()`**: 移除第一个元素并将所有其他元素向前移动一位来填补由此产生的空位;它会改变原数组并返回被移除的第一个元素。 ```javascript let arr = [1, 2, 3]; arr.shift(); console.log(arr); // 输出: [2, 3] ``` - **`splice()`**: 不仅能用于插入还可以用于删除特定位置上的元素。 ```javascript const arr8 = [1, 2, 3, 4, 5]; console.log(arr8.splice(2, 1)); // 输出: [3] console.log(arr8); // 输出: [1, 2, 4, 5] ``` #### 修改元素 修改现有数组的内容通常涉及直接访问其索引或将旧值替换为新值。除了上述提到过的 `splice()` 函数外,也可以简单地通过设置某个具体下标的值来进行更新。 ```javascript let arr = [1, 2, 3]; arr[1] = 'two'; console.log(arr); // 输出: [1, "two", 3] ``` #### 查询元素 查询是指定位给定条件下的某一项或多项记录,在这里主要指的是查找是否存在满足某些标准的数据条目以及获取它们的位置信息。 - **`indexOf()` 和 `lastIndexOf()`**: 查找首次出现/最后一次出现的目标元素所在的位置(如果不存在则返回 `-1`)。 ```javascript let arr = [1, 2, 3, 2, 4]; console.log(arr.indexOf(2)); // 输出: 1 (第一次出现) console.log(arr.lastIndexOf(2)); // 输出: 3 (最后次出现) ``` - **`find()` 和 `findIndex()`**: 这两个函数允许传入回调函数作为参数,分别用于找到符合条件的第一项及其对应的索引。 ```javascript let users = [{id: 1}, {id: 2}]; console.log(users.find(user => user.id === 2)); // 输出: Object { id: 2 } console.log(users.findIndex(user => user.id === 2));// 输出: 1 ``` - **`includes()`**: 判断数组是否包含某个指定的值,如果是,则返回 true。 ```javascript let arr = [1, 2, 3]; console.log(arr.includes(2)); // 输出: true ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值