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

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.kler.cn/a/232220.html

相关文章:

  • 第三百二十三节 Java线程教程 - Java同步器
  • oneplus3t-Lineage16.1-Android.bp
  • 黑马嵌入式开发入门模电基础学习笔记
  • LC12:双指针
  • UNIX网络编程-TCP套接字编程(实战)
  • Dubbo 3.2 源码导读
  • vue使用Mars3d弹框嵌套video视频/实时视频(m3u8)使用hls.js
  • 实例分割论文阅读之:《Mask Transfiner for High-Quality Instance Segmentation》
  • ubuntu系统下c++ cmakelist vscode debug(带传参的debug)的详细示例
  • 通过平扫CT实现胰腺癌早筛(平扫CT+AI)
  • pycharm像jupyter一样在控制台查看后台变量
  • 2024年Java架构篇之设计模式
  • 【Flink入门修炼】1-3 Flink WordCount 入门实现
  • 华为第二批难题一:基于预训练AI模型的元件库生成
  • Backtrader 文档学习- Plotting -Plotting on the same axis
  • 【工作学习 day04】 9. uniapp 页面和组件的生命周期
  • 恒流源方案对比
  • ASP.NET Core 7 MVC 使用 Ajax 和控制器通信
  • vue.config.js和webpack.config.js区别
  • 从零开始手写mmo游戏从框架到爆炸(零)—— 导航
  • 基于若依的ruoyi-nbcio流程管理系统自定义业务回写状态的一种新方法(二)
  • 【前端高频面试题--Vue基础篇】
  • 【Linux】vim的基本操作与配置(下)
  • Redis篇之持久化
  • Mac 版 Excel 和 Windows 版 Excel的区别
  • Java汽车销售管理