JavaScript基础第五天

JavaScript 基础第五天

今天我们学习数组,以及数组的增删改查。

1. 数组

数组:(Array)是一种可以按顺序保存数据的数据类型。

1.1. 定义数组

可以使用 const 声明一个方括号**[ ],或者使用new Array**创建数组。

const array = [1, 2, 4, 5];
const array2 = new Array(1, 4, 6, 7);
console.log(array);
console.log(array2);

1.2. 从字符串转数组

Array.from进行转换。

let str = "1,2,3,4,5,a,g,v";
let strArr = str.split(",");
console.log(strArr);let str2 = "4545faf";
// Array.from将字符串转为数组,每个字符都是一个项
let strArr2 = Array.from(str2);
console.log(strArr2);

1.3. 从对象转数组

对象转数组两点局限性:

  1. 下标必须为数字类型的字符串。

  2. 必须含有length属性。

let obj = {0: 125,1: false,2: () => {console.log("你好");},length: 3,
};
let objArr = Array.from(obj);
console.log(objArr);

1.4. 数组的截取和拼接

使用slice截取,包左不包右,包头不包尾。

let arr = [1, 2, 43, 5, 67];
// slice 截取数组
let subArr = arr.slice(0, 3);
console.log(subArr); // 1 2 43

使用concat拼接。

let shortArr1 = [1, 2, 3];
let shortArr2 = [4, 5, 6];
// 扩展... 可以将数组展开 [4,5,6] ---->4,5,6
// concat 可以填入多个参数,也可以直接填入一个数组
let longArr = shortArr1.concat(...shortArr2);
console.log(longArr); //[1, 2, 3, 4, 5, 6]
let longArr2 = [...shortArr1, ...shortArr2];
console.log(longArr2); //[1, 2, 3, 4, 5, 6]

2. 数组的增删改查

2.1. 增加

push( ) 从尾部添加一个单元。

特点:

  1. 可以添加一个值,也可以添加多个。
  2. 不能去拼接数组。
let arr = [0, 1, 2, 3];
arr.push(4);
console.log(arr); //[0, 1, 2, 3, 4]

push不能去传入一个数组,需要将数组(用…来展开)展开,否则会将整个数组都放进去。

let arr = [0, 1, 2, 3];
arr.push(...[7, 8]);
console.log(arr); //[0, 1, 2, 3, 7, 8]

unshift( ) 从头部添加。

let arr2 = ["a", "b", "c"];
arr2.unshift("d");
console.log(arr2); //["d", "a", "b", "c"]

concat( ) 连接两个数组 (不改变原数组的内容)。

let arr = [1, 2, 3];
let c = [4, 5, 6];
let b = arr.concat(c);console.log(arr); // [1,2,3]
console.log(b); // [1,2,3,4,5,6]

2.2. 删除

使用pop()来删除,跟 push 对应,pop从尾巴删除一个元素。

let arr = [1, 2, 3];
arr.pop();
console.log(arr); //[1, 2]

shift从头部删除,与 unshift 对应。

let arr = [1, 2, 3];
arr4.shift();
console.log(arr); // [2, 3]

splice(startIndex,长度) 动态删除任意单元,有两个参数,要删除的第一项的位置和要删除的数量。

let arr = [1, 2, 3, 4, 5];
arr.splice(2, 1); // 从索引值为2的位置开始删除1个单元
console.log(arr); // 输出 [1, 2, 4, 5]

2.3. 查询

获取值对应的下标indexOf
判断数组是否包含某个值,返回booleanincludes
截取数组中的某一段slice(startIndex,endIndex)

arr[index] 查询对应下标的值

let array = ["a", "b", "c"];
let b = array[1];
console.log(b); //b

indexOf(value)查询对应值的下标

const index = array.indexOf("c");
console.log(index); //返回 2

includes(value) 判断数组是否包含某个值 。

let array = ["a", "b", "c"];
const isInArr1 = array.includes("b"); //返回true
const isInArr2 = array.includes("d"); //返回false
console.log(isInArr1, isInArr2);

slice(start,end) 截取,包左不包右,包头不包尾。

// slice(startIndex,endIndex) 截取 包含开始不含结束
// slice(startIndex) 截取从startIndex开始到后面的所有值
let arr = [1, 2, 3, 4];
console.log(arr.slice(1, 3)); // [2,3]
console.log(arr.slice(1)); // [2,3,4]

2.4. 修改

splice(startIndex,长度,元素...) 修改 先删除后插入

var a = [1, 2, 3, 4, 5];
a.splice(2, 1, 9);
console.log(a); // [1,2,9,4,5]

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

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

相关文章

Netty应用(六) 之 异步 Channel

目录 12.Netty异步的相关概念 12.1 异步编程的概念 12.2 方式1:主线程阻塞,等待异步线程完成调用,然后主线程发起请求IO 12.3 方式2:主线程注册异步线程,异步线程去回调发起请求IO 12.4 细节注释 12.5 异步的好处…

HiveSQL——用户行为路径分析

注:参考文档: SQL之用户行为路径分析--HQL面试题46【拼多多面试题】_路径分析 sql-CSDN博客文章浏览阅读2k次,点赞6次,收藏19次。目录0 问题描述1 数据分析2 小结0 问题描述已知用户行为表 tracking_log, 大概字段有&…

Rust条件语句:if-else表达式详解

在Rust中&#xff0c;条件语句是控制程序流程的重要组成部分。if-else表达式是一种用于根据条件执行不同代码分支的强大工具。本篇博客将深入介绍Rust中的if-else表达式&#xff0c;并通过具体的例子展示其用法和灵活性。 基础用法 fn main() {let number 31;if number <…

多进程服务器和多线程服务器

多进程服务器 #include<myhead.h> #define PORT 9999 //端口号 #define IP "192.168.10.116" //IP地址//定义信号处理函数&#xff0c;用于回收僵尸进程 void handler(int signo) {if(signo SIGCHLD){while(waitpid(-1, NULL, WNOHA…

【MySQL】-20 MySQL综合-6(MySQL创建数据表+MySQL修改数据表+MySQL删除数据表)

MySQL创建数据表MySQL修改数据表MySQL删除数据表 MySQL创建数据表基本语法在指定的数据库中创建表查看表结构 MySQL修改数据表基本语法添加字段修改字段数据类型删除字段修改字段名称修改表名 MySQL删除数据表基本语法删除表 MySQL创建数据表 在创建数据库之后&#xff0c;接下…

2.12作业

程序代码&#xff1a; #include<stdlib.h> #include<string.h> #include<stdio.h>//递归实现n! int n(int element) {if(0element)return 1;return element*n(element-1); }//递归实现0-n的和 int sub_sum(int element) {if(0element)return 0;return eleme…

计算机二级C语言备考学习记录

一、C语言程序的结构 1.程序的构成&#xff0c;main函数和其他函数。 程序是由main函数和其他函数构成main作为主函数&#xff0c;一个C程序里只有一个main函数其他函数可以分为系统函数和用户函数&#xff0c;系统函数为编译系统提供&#xff0c;用户函数由用户自行编写 2.…

《动手学深度学习(PyTorch版)》笔记7.7

注&#xff1a;书中对代码的讲解并不详细&#xff0c;本文对很多细节做了详细注释。另外&#xff0c;书上的源代码是在Jupyter Notebook上运行的&#xff0c;较为分散&#xff0c;本文将代码集中起来&#xff0c;并加以完善&#xff0c;全部用vscode在python 3.9.18下测试通过&…

力扣刷题之旅:高阶篇(一)—— 并查集的应用

在算法的世界中&#xff0c;并查集是一种非常高效且实用的数据结构&#xff0c;常用于处理一些具有连通性质的问题。在力扣&#xff08;LeetCode&#xff09;上&#xff0c;并查集的题目往往涉及到图的连通性、朋友关系的传递性等问题。今天&#xff0c;我们将一起探讨一道关于…

重温阿里云宝塔面板部署前后端项目

首先祝大家新年快乐啊&#xff01; 回到老家&#xff0c;便打算趁这一段空闲时间提升一下自己&#xff0c;重点是学习实践一下echarts相关内容&#xff0c;很多公司项目都需要实现可视化&#xff0c;所以在bilibili上找了黑马的一个教程开始学习&#xff0c;不同的是&#xff…

【JavaScript】遍历对象和数组

文章目录 1. 遍历对象for...in 循环Object.keys()Object.entries() 2. 遍历数组for 循环forEach()for...of 循环 3. 遍历多维数组4. 总结 在 JavaScript 中&#xff0c; 遍历是一种常见的操作&#xff0c;用于访问对象和数组中的元素。本篇博客将将介绍 JavaScript 中遍历对象…

JavaScript进阶教程 - 纯函数和不可变性

在函数式编程范式中&#xff0c;纯函数和不可变性是核心概念&#xff0c;它们有助于编写可预测、易于测试和并发安全的代码。 纯函数&#xff08;Pure Functions&#xff09; 纯函数是这样一种函数&#xff1a;给定相同的输入&#xff0c;总是返回相同的输出&#xff0c;并且…

面试 JavaScript 框架八股文十问十答第九期

面试 JavaScript 框架八股文十问十答第九期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01;关注专栏后就能收到持续更新&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1&#xff09;对象创建的方式有…

Rust标量类型详解

在Rust中&#xff0c;数据类型分为标量类型和复合类型。本篇博客将重点介绍Rust的标量类型&#xff0c;其中包括整数类型、浮点类型、布尔类型以及字符类型。 整数类型 Rust提供了多种整数类型&#xff0c;分为带符号整数和无符号整数。带符号整数表示可以为正数、零或负数&a…

电子电器架构 —— 区域控制器是未来架构的正解吗?

电子电器架构 —— 区域控制器是未来架构的正解吗? 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶…

osg操控器和键盘切换操控器学习

osg提供了很多操控器,在src\osgGA目录下,cpp文件名含有Manipulator的都是操控器,每个这样的cpp表示一种类型的操控器。 名字带 Manipulator 的类都是操控器; 其中KeySwitchMatrixManipulator.cpp文件实现了键盘切换操控器; 操控器是指:操控相机运动,从而实现场景视图…

Linux(Ubuntu) 环境搭建:远程终端软件(MobeXterm)

一、MobaXterm下载地址 服务器的远程终端软件我选择的是&#xff1a;MobaXtermMobaXterm 官方网站下载地址&#xff1a;https://mobaxterm.mobatek.net/download.htmlMobaXterm 汉化版下载地址&#xff1a;https://github.com/RipplePiam/MobaXterm-Chinese-Simplified 二、官…

C# 字体大小的相关问题

设置字体大小无法这么写&#xff0c; button1.Font.Size 20&#xff1b; 这个是只读属性&#xff1b; 把字体大小改为16&#xff0c; button2.Font new Font(button2.Font.Name, 16); 程序运行的时候先看一下窗体和控件的默认字体尺寸&#xff0c;都是9&#xff1b;然后点b…

汽车出租管理系统

文章目录 汽车出租管理系统一、系统演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目源码&#xff08;9.9&#xffe5;带走&#xff09; 汽车出租管理系统 一、系统演示 汽车租赁系统 二、项目介绍 语言&#xff1a;java 框架&#xff1a;SpringBoot、…

Rust循环控制结构详解

循环是编程中常见的控制结构之一&#xff0c;它允许程序重复执行一段代码。在Rust中&#xff0c;循环有三种主要的形式&#xff1a;loop、while和for。本篇博客将介绍Rust中的这三种循环&#xff0c;并通过实例展示它们的用法和灵活性。 无限循环&#xff1a;loop fn main() …