SAP Fiori开发中的JavaScript基础知识6 - 数组(Arrays)

1 背景

在本篇博客中,我将介绍JavaScript中数组(Arrays)的概念和用法。

2 数组

在JavaScript中,数组是一种特殊的对象,用于存储多个值在单个变量中。

2.1 创建数组

在JavaScript中,创建数组有以下有2种方式。

使用Array构造函数:

let fruits = new Array('apple', 'banana', 'mango');

使用字面量语法:

let fruits = ['apple', 'banana', 'mango'];

2.2 访问数组元素

你可以通过索引(基于0的数字)访问数组的元素:

let firstFruit = fruits[0]; // apple
let secondFruit = fruits[1]; // banana

你也可以通过索引修改数组的元素:

fruits[0] = 'pear'; // fruits is now ['pear', 'banana', 'mango']

2.3 数组的属性和方法

JavaScript数组有许多有用的属性和方法。例如:

  • length属性:返回数组的长度(元素的数量)。
  • indexOf( )方法:返回当前元素的索引值,若不存在,返回-1
  • includes()方法:检查某个元素是否存在,存在返回true,否则返回false
  • push()方法:向数组的末尾添加一个或多个元素,并返回新的长度。
  • pop()方法:删除并返回数组的最后一个元素。
  • shift()方法:删除并返回数组的第一个元素。
  • unshift()方法:向数组的开头添加一个或多个元素,并返回新的长度。
  • splice()方法:添加/删除数组的元素。
  • slice()方法:返回一个新的数组,包含从 start 到 end (不包括 end )的 arrayObject 中的元素。
  • join()方法:把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
let length = fruits.length; // 3

console.log( fruits.indexOf('apple') ); //输出0

console.log( fruits.includes('apple') ): //输出true

fruits.push('orange'); // fruits is now ['pear', 'banana', 'mango', 'orange']

let lastFruit = fruits.pop(); // lastFruit is 'orange', fruits is now ['pear', 'banana', 'mango']

let firstFruit = fruits.shift(); // firstFruit is 'pear', fruits is now ['banana', 'mango']

fruits.unshift('apple'); // fruits is now ['apple', 'banana', 'mango']

fruits.splice(1, 0, 'kiwi'); // fruits is now ['apple', 'kiwi', 'banana', 'mango']

let citrusFruits = fruits.slice(1, 3); // citrusFruits is ['kiwi', 'banana']

let allFruits = fruits.join(', '); // allFruits is 'apple, kiwi, banana, mango'

2.4 数组的遍历

forEach() 是 JavaScript 中的数组方法,用于遍历数组,并对每个元素执行操作。

以下是 forEach() 方法的基本语法:

array.forEach(function(currentValue, index, arr), thisValue)

参数说明:

  • currentValue(必需):当前正在处理的数组元素。
  • index(可选):当前正在处理的数组元素的索引。
  • arr(可选):包含当前元素的数组。
  • thisValue(可选):当执行函数时用作 “this” 的值。

以下是一个使用 forEach() 的基本示例:

let array = [1, 2, 3, 4, 5];

array.forEach(function(element) {
  console.log(element);
});

在这个例子中,forEach() 方法会遍历数组中的每个元素,并将每个元素打印到控制台。

你也可以使用箭头函数来简化代码:

let array = [1, 2, 3, 4, 5];
array.forEach(element => console.log(element) );

2.5 一些其它转换的方法

  • filter() 方法:移除不符合某一条件的元素,并返回新数组
  • map()方法:转换数组元素,并返回新数组
  • some()方法:检查是否有任何数组元素项满足给定的条件,返回一个布尔值
  • every()方法:检查是否每一个数组元素项都满足给定的条件,返回一个布尔值

有需要的同学可以自行查找相关文档,在本文中变不再逐一列举用法了。

2.6 示例代码

最后,我在下面给出了一些符合命名规范的代码示例,供参考。

let aColors = ['red', 'blue', 'green'];

console.log("----------------");
console.log(aColors);
console.log(aColors[0]);
console.log(aColors.length);
console.log(aColors.indexOf('red'));
console.log(aColors.push('yellow'));
console.log(aColors.length);

let aBasicColors = aColors.slice(0,3);
console.log(aBasicColors);

console.log("----------------");
let aTest = [];
console.log(aTest.length);
aTest[4] = 'test';
console.log(aTest.length);
aTest.push('test');
console.log(aTest.length);

console.log("----------------");
aColors.splice(3,0,'black'); //在index 3处插入black
console.log(aColors); 
aColors.splice(4,1); //删除 yellow
console.log(aColors); 

console.log("----------------");
aColors.forEach(function(value, index, arrary){
    console.log(index + '. color is ' + value);
});

这段代码的运行结果如下:
在这里插入图片描述

3. 小结

本文介绍JavaScript中数组(Arrays)的概念和用法,文中列举了JavaScript数组常用的一部分功能。为了充分利用数组,可以进一步查阅相关文档。希望本文对你有帮助!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

引用,内联函数,auto函数,指针nullptr

一:引用 1.1 该文章的引用是对上一篇引用的进行补充和完善 按理来说,double可以隐式转换为int,那起别名的时候为什么不可以类型转换呢? 那是因为,在类型转换的时候,会创建一个临时变量,让后再…

基于8086毫秒数码管计时器仿真设计

**单片机设计介绍,基于8086毫秒数码管计时器仿真设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于8086毫秒数码管计时器仿真设计概要主要关注于利用8086微处理器实现毫秒级别的计时功能,并通过数码管显示时间…

CentOS7安装DockerCompose

1.CentOS7安装DockerCompose 1.1.下载 Linux下需要通过命令下载: # 安装 curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose1.2.修改文件权限 修改文件权限&#xff1a…

Linux安装软件每次靠百度,这次花了些时间,终于算是搞明白了

Linux下安装命令虽然经常使用,但也仅仅是会使用,每次再用时依然的百度 。于是就花了些时间整体的梳理了一番,以便于更好的理解。 1.安装流程介绍 在Linux下安装软件,其实也是遵循着和Windows一样的安装流程。 首先,…

商城业务-检索服务

文章目录 前言一、搭建页面环境1.1 静态界面搭建1.2 Nginx 动静分离1.3 Windows 上传文件1.4 引入 thymeleaf 依赖1.5 Nginx 反向代理1.4 Nginx 配置1.5 gateway 网关配置 二、调整页面跳转2.1 引入依赖2.2 页面跳转 三、检索查询参数模型分析抽取3.1 检索业务分析3.2 检索语句…

【Spring源码分析】透过源码看透Spring事务

阅读此需阅读下面这些博客先【Spring源码分析】Bean的元数据和一些Spring的工具【Spring源码分析】BeanFactory系列接口解读【Spring源码分析】执行流程之非懒加载单例Bean的实例化逻辑【Spring源码分析】从源码角度去熟悉依赖注入(一)【Spring源码分析】…

Java程序运行的问题——异常

什么是异常? Java程序在运行时出现的问题就叫异常 jdk中将异常一新封装成了一个个的类,当出现问题时,就会创建异常对象,抛出异常信息(问题原因、位置) 1.异常 1.1的继承体系 Throwable 是所有错误(erro…

关于OpenFeign的返回类型包装问题

在一天夜里。我在使用feign的调用时,突然出现了一点点问题。 就是对于feign类型的包装问题。产生了疑问。 在后来,也就是今天。在网上取取经。看到了一个答案。说:feign的调用会有一个编码器和解码器。 使用feign的解码器。他的原理也很简…

NineAi3.5 –支持GPT绘图,语音播报,联网访问,上下文关联,语音模式

NineAi3.5 –支持GPT绘图,语音播报,联网访问,上下文关联,语音模式 基于ChatGPT开发的一个人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话, 还能根据聊天的上下文进行互动&…

热门IT【视频教程】-华为/思科/红帽/oracle

华为认证 网络工程师-入门基础课:华为HCIA认证课程介绍-CSDN博客 网络工程师进阶课:华为HCIP认证课程介绍-CSDN博客 职场进阶,踏上高峰——HCIE-Datacom认证-CSDN博客 华为HCIA试听课程 : 超级实用,华为VRP系统文件…

4核8G服务器租用优惠价格418元一年,可买3年

京东云4C8G云服务器优惠价格418元1年、1899元三年,配置为:轻量云主机4C8G-180G SSD系统盘-5M带宽-500G月流量,京东云主机优惠活动 atengyun.com/go/jd 可以查看京东云服务器详细配置和精准报价单,活动打开如下图: 京东…

【Go】十四、封装、继承

文章目录 1、封装2、继承3、继承的注意点 1、封装 隐藏实现细节保证数据安全(控制变量或方法的访问范围,private) Go中实现封装: 结构体、字段的首字母小写(Java的private)提供一个工厂模式函数&#xf…

SpringBoot+uniApp宠物领养小程序系统 附带详细运行指导视频

文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码1.保存宠物信息代码2.提交订单信息代码3.查询评论信息代码 一、项目演示 项目演示地址: 视频地址 二、项目介绍 项目描述:这是一个基于SpringBootuniApp框架开发的宠物领养微信小程序系统。…

数据可视化-ECharts Html项目实战(9)

在之前的文章中,我们学习了如何在ECharts中编写气泡图,词云图。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 数据可视化-ECharts Ht…

vue 文件下载

1.返回路径下载 注: 针对一些浏览器无法识别的文件格式(如pdf、xls、ppt)。可以直接在地址栏上输入URL即可触发浏览器的下载功能。 情况1 //地址栏输入文件URLwindow.location.href URLwindow.open(URL) 注:该方式将下载逻辑放在后端处理&#xff0c…

面试时如何回答接口测试怎么进行

一、什么是接口测试 接口测试顾名思义就是对测试系统组件间接口的一种测试,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 …

权限提升-Linux系统权限提升篇VulnhubCapability能力LD_Preload加载数据库等

知识点 1、Web或用户到Linux-数据库类型 2、Web或用户到Linux-Capability能力 3、普通用户到Linux-LD_Preload加载so配合sudo 章节点: 1、Web权限提升及转移 2、系统权限提升及转移 3、宿主权限提升及转移 4、域控权限提升及转移 基础点 0、为什么我们要学习权限…

Python接口自动化 —— 什么是接口测试、为什么要做接口测试?

简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试。 什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各…

C语言-冒泡排序算法

题目描述 设计一个程序,实现冒泡排序算法,并输出{9,8,7,6,5,4,3,2,1,0} 的排序过程。 输出 每个排序过程输出一行,直到排序完成。 样例输出 Expected 9 8 7 6 5 4 3 2 1 0 0 9 8 7 6 5 4 3 2 1 0 1 9 …