当前位置: 首页 > news >正文

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]

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++初阶:适合新手的手撕vector(模拟实现vector)
  • django安装使用
  • 15000+POC漏洞扫描工具
  • 五分钟用FRP实现win10远程桌面
  • 什么是集群服务器
  • Qt知识点总结目录
  • 单片机学习笔记---串口通信(2)
  • STM32F1 - 标准外设库_规范
  • kyuubi 接入starrocks | doris
  • 耳机壳UV树脂制作耳机壳的工艺流程是什么?
  • 2 月 7 日算法练习- 数据结构-并查集
  • BTC交易数据 - 文章索引
  • 计算机网络相关题目及答案(第四章)
  • Linux第45步_通过搭建“DNS服务器”学习图形化配置工具
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Web组件
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • [译] 怎样写一个基础的编译器
  • Consul Config 使用Git做版本控制的实现
  • If…else
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • JavaScript中的对象个人分享
  • Java多态
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • mac修复ab及siege安装
  • Redis学习笔记 - pipline(流水线、管道)
  • select2 取值 遍历 设置默认值
  • spring-boot List转Page
  • SSH 免密登录
  • Tornado学习笔记(1)
  • uva 10370 Above Average
  • Vue实战(四)登录/注册页的实现
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 使用parted解决大于2T的磁盘分区
  • 使用Swoole加速Laravel(正式环境中)
  • 事件委托的小应用
  • 思考 CSS 架构
  • 王永庆:技术创新改变教育未来
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​业务双活的数据切换思路设计(下)
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • # 达梦数据库知识点
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (1)STL算法之遍历容器
  • (160)时序收敛--->(10)时序收敛十
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET CLR基本术语
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福