【JS】JS数组添加元素的三种方法

> 1、push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。 
> 2、unshift()方法可向数组的开头添加一个或更多元素,并返回新的长度。
> 3、splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

1、push() 方法

可向数组的末尾添加一个或多个元素,并返回新的长度。
  1)、语法:

arrayObject.push(newelement1,newelement2,…,newelementX)
参数 描述
newelement1 必需。要添加到数组的第一个元素。
newelement2 可选。要添加到数组的第二个元素。
newelementX 可选。可添加多个元素。
  2)、返回值:

把指定的值添加到数组后的新长度。

3)、说明:

push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。

4)、实例:

1 var arr = new Array(3)
2 arr[0] = “ZhangQian”
3 arr[1] = “LinFang”
4 arr[2] = “HaiKun”
5
6 console.log(arr);// [“ZhangQian”,“LinFang”,“HaiKun”]
7 console.log(arr.push(“C”));// 4
8 console.log(arr);// [“ZhangQian”,“LinFang”,“HaiKun”,“C”]
9 console.log(arr.push(“A”,“B”));// 6
10 console.log(arr);// [“ZhangQian”,“LinFang”,“HaiKun”,“A”,“B”,“C”]

2、unshift() 方法

可向数组的开头添加一个或更多元素,并返回新的长度。
  1)、语法:

arrayObject.unshift(newelement1,newelement2,…,newelementX)
参数 描述
newelement1 必需。向数组添加的第一个元素。
newelement2 可选。向数组添加的第二个元素。
newelementX 可选。可添加若干个元素。
  2)、返回值:

arrayObject 的新长度。

3)、说明:

unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。

请注意,unshift() 方法不创建新的数组,而是直接修改原有的数组。

4)、实例:

1 var arr = new Array(3)
2 arr[0] = “ZhangQian”
3 arr[1] = “LinFang”
4 arr[2] = “HaiKun”
5
6 console.log(arr);// [“ZhangQian”,“LinFang”,“HaiKun”]
7 console.log(arr.unshift(“C”));// 4
8 console.log(arr);// [“C”,“ZhangQian”,“LinFang”,“HaiKun”]
9 console.log(arr.unshift(“A”,“B”));// 6
10 console.log(arr);// [“A”,“B”,“C”,“ZhangQian”,“LinFang”,“HaiKun”]

3、splice() 方法

向/从数组中添加/删除项目,然后返回被删除的项目。
  1)、语法:

arrayObject.splice(index,howmany,item1,…,itemX)
参数 描述
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX 可选。向数组添加的新项目。
  2)、返回值:

类型 描述
Array 包含被删除项目的新数组,如果有的话。
  3)、说明:

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

splice() 方法会直接对数组进行修改。

4)、实例:

1 var arr = [“A”,“ZhangQian”,“LinFang”,“HaiKun”];
2
3 console.log(arr.splice(1,0,“B”,“C”));// []
4 console.log(arr);// [“A”,“B”,“C”,“ZhangQian”,“LinFang”,“HaiKun”]
5 console.log(arr.splice(1,2));// [“B”,“C”]
6 console.log(arr);// [“A”,“ZhangQian”,“LinFang”,“HaiKun”]
7 console.log(arr.splice(1,1,“D”));// [“ZhangQian”]
8 console.log(arr);// [“A”,“D”,“LinFang”,“HaiKun”]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nodejs+vue+微信小程序+python+PHP的黄山旅游景点购票系统设计与实现-计算机毕业设计推荐

本文首先对该系统进行了详细地描述,然后对该系统进行了详细的描述。管理人员增加了系统首页、个人中心、用户管理、景点分类管理、景点简介管理、旅游路线管理、文章分类管理、公告文章管理、系统管理理等功能。黄山旅游景点购票系统是根据当前的现实需要&#xff0…

线程池的原理和基本使用~

线程池的基本原理: 无论是之前在JavaSE基础中,我们学习过的常量池,还是在操作数据库时,我们学习过数据库连接池,以及接下来要学习的线程池,均是一种池化思想,其目的就是为了提高资源的利用率&a…

mysql 链接超时的几个参数详解

mysql5.7版本中,先查看超时设置参数,我们这里只关注需要的超时参数,并不是全都讲解 show variables like %timeout%; connect_timeout 指的是连接过程中握手的超时时间,在5.0.52以后默认为10秒,之前版本默认是5秒,主…

【vscode写vue代码是白色怎么办】

【vscode写vue代码是白色怎么办】 在插件列表中搜索Vetur 安装即可

Web学习路线

阅读前请看一下:我是一个热衷于记录的人,每次写博客会反复研读,尽量不断提升博客质量。文章设置为仅粉丝可见,是因为写博客确实花了不少精力。希望互相进步谢谢!! 文章目录 阅读前请看一下:我是…

Redis 命令全解析之 Hash类型

文章目录 ⛄介绍⛄命令⛄RedisTemplate API⛄应用场景 ⛄介绍 Hash类型,也叫散列,其value是一个无序字典,类似于Java中的 HashMap 结构。 String结构是将对象序列化为JSON字符串后存储,当需要修改对象某个字段时很不方便&#xf…

降维技术——PCA、LCA 和 SVD

一、说明 降维在数据分析和机器学习中发挥着关键作用,为高维数据集带来的挑战提供了战略解决方案。随着数据集规模和复杂性的增长,特征或维度的数量通常变得难以处理,导致计算需求增加、潜在的过度拟合和模型可解释性降低。降维技术通过捕获数…

用队列实现栈

问题描述: 请你仅用两个队列实现一个后入先出(LIFO)的栈,并支持普通队列的全部四种操作(push、top、pop和empty)。 实现MyStack类: void push(int x) 将元素x压入栈顶。int pop()移除并返回栈顶…

java中线程的状态是如何转换的?

在 Java 中,线程有几种状态,主要包括 NEW(新建)、RUNNABLE(可运行)、BLOCKED(阻塞)、WAITING(等待)、TIMED_WAITING(计时等待)、和 TE…

Vue学习笔记-Vue3中的计算属性与监视属性

computed函数 import {reactive,computed} from vue export default {name: "DemoVue",setup(){//数据定义let person reactive({firstName : 李,lastName : 四,age:18,})//计算属性定义-简写形式person.fullName computed(()>{return person.firstName-person…

手写 Promise:深入理解异步编程的基石

手写 Promise:深入理解异步编程的基石 本文将带您逐步实现一个简单的 Promise,以帮助您深入理解异步编程的基本概念。通过自己动手编写 Promise 的过程,您将更好地理解 Promise 的工作原理和常见用法,并能够应用于实际项目中。 …

什么是网站劫持

网站劫持是一种网络安全威胁,它通过非法访问或篡改网站的内容来获取机密信息或者破坏计算机系统。如果您遇到了网站劫持问题,建议您立即联系相关的安全机构或者技术支持团队,以获得更专业的帮助和解决方案。

探索 HTTPS:保障网络通信的安全性

引言 HTTPS(HyperText Transfer Protocol Secure)是一种安全的通信协议,用于在网络上安全地传输数据。它是基于 HTTP 协议的扩展,通过加密通信实现了数据的保护和安全性。 功能介绍 加密数据传输: 使用加密技术对数…

Prism框架快速注册带有特性标签的类型

前言 最近用Prims框架,真的是懒得手动注册各种类型,不利于团队开发工作,各种dll强耦合,后期维护还麻烦,这次我们带来了一个快速注册的类来快速提高开发效率。重点用到的就是通过反射出dll里面的类型,然后根据特性或者类型过滤来完成快速注册的功能。 代码 using Prism…

Angular 进阶之四:SSR 应用场景与局限

应用场景 内容丰富,复杂交互的动态网页,对首屏加载有要求的项目,对 seo 有要求的项目(因为服务端第一次渲染的时候,已经把关键字和标题渲染到响应的 html 中了,爬虫能够抓取到此静态内容,因此更…

【面试专题】MySQL篇①

1.MySQL中,如何定位慢查询? ①介绍一下当时产生问题的场景(我们当时的一个接口测试的时候非常的慢,压测的结果大概5秒钟) ②我们系统中当时采用了运维工具( Skywalking ),可以监测出哪个接口…

PostgreSQL从小白到高手教程 - 第38讲:数据库备份

PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。 第38讲&#…

running小程序重要技术流程文档

一、项目文件说明: (注:getMyMoney无用已删除) 二、重要文件介绍 1.reinfo.js:位于utils文件下,该文件封装有统一的请求URL,和请求API同意封装供页面调用;调用时候需要在页面上先…

【C语言】操作符详解(一):进制转换,原码,反码,补码

目录 操作符分类 2进制和进制转换 2进制转10进制 10进制转2进制 2进制转8进制和16进制 2进制转8进制 2进制转16进制 原码、反码、补码 操作符分类 操作符中有一些操作符和二进制有关系,我们先铺垫一下二进制的和进制转换的知识。 2进制和进制转换 其实我们经…

数据结构准备知识

struct(结构体) struct,或称为结构体,是C语言中一种复合数据类型,它允许你将多个不同类型的数据项组合成一个单一的单位。这对于创建记录或更复杂的数据结构非常有用。 结构体的定义语法如下: struct 结…