JavaScript内置对象 - Array数组(一)- 基础部分

        JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高级对象;Array 对象中还提供了各种有关数组的属性和方法,该篇将列举了 Array 对象中提供的属性和方法。

        此次除了一些官方给的解释外,还将自我理解的部分、可延申拓展部分,以及示例方式给大家解说。

一、常用属性和方法

1.1 创建数组

// 中括号方式定义数组
const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
// 通过new实例对象方式创建数组
const countrys = new Array('中国', '俄国', '美国', '英国');
// 创建数组,并指定数组长度
const schools = new Array(5);
const peoples = [];			//创建空数组
// 通过属性指定数组长度
peoples.length = 3;//输出结果
console.log(fruits.length);
console.log(countrys.length);
console.log(schools);
console.log(peoples);

输出结果如下:

> 5

> 4

> Array [undefined, undefined, undefined, undefined, undefined]

> Array [undefined, undefined, undefined]

1.2 通过索引获取元素

const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
// 获取首位元素
console.log(fruits[0]);
// 获取末尾元素
console.log(fruits[fruits.length - 1]);

输出结果如下:

> Apple
> Plum

1.3 遍历元素

const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];// 遍历数组
fruits.forEach(function (item, index, array) {console.log(item, index, array);
});

输出结果如下:

  元素   索引  原数组

> Apple 0 [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
> Pear 1 [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
> Orange 2 [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
> Banana 3 [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
> Plum 4 [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]

1.4 添加元素

const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];// 添加元素,默认都是往末位追加元素
fruits.push('Chestnut');console.log(fruits);

输出结果如下:

> [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum', 'Chestnut' ]

1.5 删除数组末位元素

const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];// 删除数组末位元素
fruits.pop();console.log(fruits);

输出结果如下:

> [ 'Apple', 'Pear', 'Orange', 'Banana' ]

1.6 删除数组首位元素

const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];// 删除数组首位元素
fruits.shift();console.log(fruits);

输出结果如下:

> [ 'Pear', 'Orange', 'Banana', 'Plum' ]

1.7 添加元素到首位

const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];// 删除数组首位元素
fruits.unshift("Chestnut");console.log(fruits);

输出结果如下:

> [ 'Chestnut', 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]

1.8 获取元素的索引

const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];// 获取Orange的索引值
console.log(fruits.indexOf("Orange"));

输出结果如下:

> 2

1.9 通过索引删除某个元素

const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
const countrys = new Array('中国', '俄国', '美国', '英国');// 通过索引删除元素,这里删除 索引为1位置元素
fruits.splice(1, 1);        //第1个参数为索引值,第2个参数为删除元素数量// 从指定索引位置删除2条
countrys.splice(1, 2); console.log(fruits);
console.log(countrys);

输出结果如下:

> [ 'Apple', 'Orange', 'Banana', 'Plum' ]
> [ '中国', '英国' ]

1.10 复制一个新数组

const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
// 复制一个新数组
const newFruits = fruits.slice();console.log(fruits);
console.log(newFruits);

输出结果如下:

> [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
> [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]

二、Array对象中的属性

2.1 length属性

        length 是Array的实例属性。返回或设置一个数组中的元素个数。该值是一个无符号 32-bit 整数,并且总是大于数组最高项的下标。

const fruits =  [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ];// 获取数组长度
console.log(fruits.length);//设置数组长度为2
fruits.length = 2;
// 修改数组长度后输出数组
console.log(fruits);

输出结果:

// 原数组长度

> 5

 

// 修改数组长度为2后,数组其他多余部分被截取,只保留前两位元素。
> [ 'Apple', 'Pear' ]

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【Python】基于OpenCV人脸追踪、手势识别控制的求实之路FPS游戏操作

【Python】基于OpenCV人脸追踪、手势识别控制的求实之路FPS游戏操作 文章目录 手势识别人脸追踪键盘控制整体代码附录:列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 视频: 基于OpenCV人脸追踪、手势识别控制的求实之路FPS游戏操作 手…

Everything+cpolar搭建在线资料库,实现随时随地访问

Everythingcpolar搭建在线资料库,实现随时随地访问 文章目录 Everythingcpolar搭建在线资料库,实现随时随地访问前言1.软件安装完成后,打开Everything2.登录cpolar官网 设置空白数据隧道3.将空白数据隧道与本地Everything软件结合起来总结 前…

Python日期的加减等操作

嗨喽,大家好呀~这里是爱看美女的茜茜呐 日期输出格式化 所有日期、时间的api都在datetime模块内。 👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都…

scala基础入门

一、Scala安装 下载网址:Install | The Scala Programming Language ideal安装 (1)下载安装Scala plugins (2)统一JDK环境,统一为8 (3)加载Scala (4)创建工…

ARM底层汇编基础指令

汇编语言的组成 伪操作 不参与程序执行,但是用于告诉编译器程序怎么编译.text .global .end .if .else .endif .data 汇编指令 编译器将一条汇编指令编译成一条机器码,在内存里一条指令占4字节内存,一条指令可以实现一个特定的功能 伪指令 不…

Hudi第二章:集成Spark(二)

系列文章目录 Hudi第一章:编译安装 Hudi第二章:集成Spark Hudi第二章:集成Spark(二) 文章目录 系列文章目录前言一、IDEA1.环境准备2.代码编写1.插入数据2.查询数据3.更新数据4.指定时间点查询5.增量查询6.删除数据7.覆盖数据 二、DeltaStre…

设计模式8、装饰者模式 Decorator

解释说明:动态地给一个对象增加一些额外的职责。就扩展功能而言,装饰模式提供了一种比使用子类更加灵活的替代方案 抽象构件(Component):定义一个抽象接口以规范准备收附加责任的对象 具体构件(ConcreteCom…

ELK整合springboot(第二课)

一、创建一个springboot的项目 pom文件如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLo…

Mybatis 二级缓存(使用Redis作为二级缓存)

上一篇我们介绍了mybatis中二级缓存的使用&#xff0c;本篇我们在此基础上介绍Mybatis中如何使用Redis作为二级缓存。 如果您对mybatis中二级缓存的使用不太了解&#xff0c;建议您先进行了解后再阅读本篇&#xff0c;可以参考&#xff1a; Mybatis 二级缓存https://blog.csd…

Codeforces Round 894 (Div. 3) D(数学题好难不会)

题目链接&#xff1a;Codeforces Round 894 (Div. 3) D 题目&#xff1a; 特马决定提高自己制作冰淇淋的技能。他已经学会了如何用两个球把冰淇淋做成圆锥形。 在痴迷冰淇淋之前&#xff0c;特马对数学很感兴趣。因此&#xff0c;他很想知道要制作完全n个不同类型的冰淇淋&am…

Linux 基本语句_4_指针和函数

指针函数 顾名思义&#xff0c;即返回值为指针的函数 int * f (int n){int *p NULL;//空指针return p;//返回一个地址 }函数指针 指向函数的指针&#xff0c;每个函数都有自己的入口地址&#xff0c;函数指针专门指向这些地址#include <stdio.h>int max(int a, int b)…

前端任意修改地图风格颜色

在做地图相关应用时&#xff0c;常常遇到地图风格与UI界面不搭配的问题&#xff0c;如果在制图时就制作多种风格的地图&#xff0c;耗时耗力&#xff0c;超出成本控制。这里推荐一种快捷的方法&#xff0c;可在前端快速更改地图成任意风格&#xff0c;使色调与UI搭配。 先上一张…

【sql注入】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。sql注入【二】

前言 本篇博客主要是通过piakchu靶场来讲解如何通过SQL注入漏洞来写入文件&#xff0c;读取文件。通过SQL输入来注入木马来getshell等&#xff0c;讲解了比较详细的过程&#xff1b; 如果想要学习SQL注入原理以及如何进行SQL注入&#xff0c;我也写了一篇详细的SQL注入方法及…

Apache Flume

Flume 1.9.0 Developer Guide【Flume 1.9.0开发人员指南】 Introduction【介绍】 摘自&#xff1a;Flume 1.9.0 Developer Guide — Apache Flume Overview【概述】 Apache Flume is a distributed, reliable, and available system for efficiently collecting, aggregati…

编程每日一练(多语言实现)基础篇:求总数问题

文章目录 一、实例描述二、技术要点三、代码实现3.1 C 语言实现3.2 Python 语言实现3.3 Java 语言实现3.4 JavaScript 语言实现 一、实例描述 集邮爱好者把所有的邮票存放在三个集邮册中&#xff0c;在A册内存放全部的十分之二&#xff0c;在B册内存放不知道是全部的七分之几&…

win11+wsl+git+cmake+x86gcc+armgcc+clangformat+vscode环境安装

一、安装wsl &#xff08;1&#xff09;打开power shell 并运行&#xff1a; Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform &#xff08;2&#xff0…

pytorch第一天(tensor数据和csv数据的预处理)lm老师版

tensor数据&#xff1a; import torch import numpyx torch.arange(12) print(x) print(x.shape) print(x.numel())X x.reshape(3, 4) print(X)zeros torch.zeros((2, 3, 4)) print(zeros)ones torch.ones((2,3,4)) print(ones)randon torch.randn(3,4) print(randon)a …

基于Java的汽车票网上预订系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

jenkins+newman+postman持续集成环境搭建

一、Newman简介 Newman是一款基于Node.js开发的&#xff0c;可以运用postman工具直接从命令运行和测试postman集合 二、Newman应用 环境准备&#xff1a;js/ cnpm或npm配置好环境&#xff0c;执行如下命令 三、安装newman 验证是否安装成功&#xff0c;命令&#xff1a;newm…

模块化CSS

1、什么是模块化CSS 模块化CSS是一种将CSS样式表的规则和样式定义封装到模块或组件级别的方法&#xff0c;以便于更好地管理、维护和组织样式代码。这种方法通过将样式与特定的HTML元素或组件相关联&#xff0c;提供了一种更具可维护性、可复用性和隔离性的方式来处理样式。简单…