js数组的增删改查,十二种方法(含代码)

简介: js数组的增删改查,十二种方法(含代码)

让我为大家介绍一下数组的增删改查的方法吧!本人文笔有限,如有什么不对的地方,请大家见谅!

1.unshift——从数组前方添加

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度,会改变原数组

//创建一个数组
  var arr = [1,2,3,4,5]
  //使用unshift()方法增加
  console.log(arr.unshift(0));//返回数组长度,6
  console.log(arr);//输出结果  [0, 1, 2, 3, 4, 5]  在数组最前面添加一个元素
  arr.unshift(-2,-1)//可以一直往前加
  console.log(arr);//输出结果[-2, -1, 0, 1, 2, 3, 4, 5]

2.push——从数组后方添加

push() 方法可向数组的末尾添加一个或更多元素,并返回新的长度,会改变原数组

// 创建一个数组
  var arr = [1,2,3,4,5]
  //使用push()方法增加
  console.log(arr.push(6));//返回数组长度,6
  console.log(arr);//输出结果  [ 1, 2, 3, 4, 5, 6]  在数组最末尾添加一个元素
  arr.push(7,8)//可以一直往末尾添加
  console.log(arr);//输出结果[ 1, 2, 3, 4, 5, 6, 7, 8]

3.shift——从数组最前面删除

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值,会改变原数组

// 创建一个数组
  var arr = [1,2,3,4,5]
  //使用shift()方法,删除数组的第一个元素
  console.log(arr.shift());//返回被删除的第一个元素,输出:1
  console.log(arr);//输出结果  [ 2, 3, 4, 5]  数组第一个元素已被删除
  console.log(arr.length);//输出结果为:4    会改变原数组的长度

4.pop——从数组末尾删除

pop() 方法用于把数组的最后一个元素从其中删除,并返回最后一个元素的值,会改变原数组

// 创建一个数组
  var arr = [1,2,3,4,5]
  //使用pop()方法,删除数组的第一个元素
  console.log(arr.pop())//返回被删除的最后一个元素,输出:5
  console.log(arr);//输出结果   [ 1, 2, 3, 4] 数组最后一个元素已被删除
  console.log(arr.length);//输出结果为:4    会改变原数组的长度

5.splice——可以实现添加、删除、替换操作

splice()方法用于添加、删除、替换某一个元素,十分好用,会改变原数组

当splice()一个参数时,代码如下:

// 创建一个数组
  var arr = [1,2,3,4,5]
  // 使用splice方法
  // 一个值时从下标为start开始删除,包括自身,一直删到末尾
  console.log(arr.splice(1))//下标为1开始删除,返回被删除的元素[2,3,4,5]
  console.log(arr)//会改变原数组返回1

当splice()二个参数时,代码如下:

// 创建一个数组
  var arr = [1,2,3,4,5]
  // 使用splice方法
  //  二个值时,splice(从哪开始删(下标),删除的个数从1开始不是0)
  console.log(arr.splice(0,1))//下标0开始,删除一个,也就是删除了1这个元素,返回被删除的元素
  console.log(arr)//会改变原数组,返回[2,3,4,5]

当splice()三个参数及以上时,代码如下:

// 创建一个数组
  var arr = [1, 2, 3, 4, 5]
  // 使用splice方法
  // splice(从哪开始删(下标),删除的个数从1开始不是0,往这个删除的元素之前添加的元素)
  //可以添加多个
  console.log(arr.splice(0, 1, -1, -2))//删除1这个元素往这个元素前添加
  console.log(arr)//会改变原数组,返回[-1,-2,2,3,4,5]

6.slice——截取数组

可以用来从数组提取指定元素,该方法不会改变数组,而是将截取到的元素封装到一个新数组中返回

参数:

1.截取开始位置的索引,包含开始索引
2.截取结束位置的索引,不包含结束索引
第二个值可以省略不写,此时会截取从开始索引开始往后的所有元素

代码如下:

// 创建一个数组
  var arr = ["a","b","c","d"]
  // 当slice一个参数时
  var result=arr.slice(2)
  console.log(result)//返回["c","d"]
  // 当slice二个参数时
  var result1 = arr.slice(0,2)
  console.log(result1)//返回["a","b"]

7.delete——删除元素但保留自身

delete可以删除元素但保留自身,代码如下:

// 创建一个数组
  var arr = [1, 2]
  // 使用delete,它与其它方法使用格式不太一样
  var del = delete arr[0]//删除下标为0的元素,保留自身
  console.log(arr)//会改变原数组,返回[空,2]

8.reverse——反转数组

反转数组,会改变原数组,代码如下:

// 创建一个数组
  var arr = [1, 2, 3, 4]
  //使用reverse()方法
  arr.reverse()
  console.log(arr)//会改变原数组,返回[4,3,2,1]

9.concat——拼接数组

可以拼接数组,代码如下:

// 创建一个数组
  var arr = [1, 2]
  var arr1 = [3, 4]
  // 使用concat方法可以拼接数组返回一个新数组
  var arr2 =arr.concat(arr1)
  console.log(arr2)//输出[1,2,3,4]

10.join——数组转换成字符串

join()可以把数组转换成字符串,代码如下:

// 创建一个数组
  var arr = [1, 2, 3, 4]
  var str = arr.join(",")//添加,可以拼接成字符串
  console.log(str)//会把数组装换成字符串,返回1,2,3,4(字符串类型)

11.indexOf——查找数组是否存在这个元素

indexOf()可以查找这个值是否存在,存在则返回其第一次出现的索引,不存在返回-1

代码如下:

// 创建一个数组
  var arr = [1, 2, 3, 4]
  //使用indexOf()方法,indexOf(想要查找的值,如果是字符串记得用''包起来),
  //可以查找是否存在这个值,如果存在返回这个元素的下标,不存在返回-1
  console.log(arr.indexOf(0))//返回-1,找不到返回-1
  console.log(arr.indexOf(1))//返回0,下标为0

12.lastIndexOf——查找数组是否存在这个元素

lastIndexOf与indexOf不一样,lastIndexOf是从后往前查找,存在返回目标元素下标,不存在返回-1

代码如下:

// 创建一个数组
  var arr = [1,2,3,1,2,3]
  // lastIndexOf是从后往前查找
  //可以查找是否存在这个值,如果存在返回这个元素的下标,不存在返回-1
  console.log(arr.lastIndexOf(0))//返回-1
  console.log(arr.lastIndexOf(1))//返回3

感谢大家的阅读,如果有什么不对的地方,可以向我提出,感谢大家!

相关文章
|
28天前
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
|
1月前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
26天前
|
监控 JavaScript Java
Node.js中内存泄漏的检测方法
检测内存泄漏需要综合运用多种方法,并结合实际的应用场景和代码特点进行分析。及时发现和解决内存泄漏问题,可以提高应用的稳定性和性能,避免潜在的风险和故障。同时,不断学习和掌握内存管理的知识,也是有效预防内存泄漏的重要途径。
121 52
|
17天前
|
JavaScript 前端开发 测试技术
在 golang 中执行 javascript 代码的方案详解
本文介绍了在 Golang 中执行 JavaScript 代码的四种方法:使用 `otto` 和 `goja` 嵌入式 JavaScript 引擎、通过 `os/exec` 调用 Node.js 外部进程以及使用 WebView 嵌入浏览器。每种方法都有其适用场景,如嵌入简单脚本、运行复杂 Node.js 脚本或在桌面应用中显示 Web 内容。
51 15
在 golang 中执行 javascript 代码的方案详解
|
1月前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
1月前
|
缓存 JavaScript UED
js中BOM中的方法
【10月更文挑战第31天】
|
27天前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
40 5
|
28天前
|
JavaScript 前端开发
js中的bind,call,apply方法的区别以及用法
JavaScript中,`bind`、`call`和`apply`均可改变函数的`this`指向并传递参数。其中,`bind`返回一个新函数,不立即执行;`call`和`apply`则立即执行,且`apply`的参数以数组形式传递。三者在改变`this`指向及传参上功能相似,但在执行时机和参数传递方式上有所区别。
26 1
|
1月前
|
JavaScript 前端开发
.js方法参数argument
【10月更文挑战第26天】`arguments` 对象为JavaScript函数提供了一种灵活处理参数的方式,能够满足各种不同的参数传递和处理需求,在实际开发中具有广泛的应用价值。
39 7