IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> javascript数组 -> 正文阅读

[JavaScript知识库]javascript数组

存储多个数据

声明数组的方式:

方式1:字面量

书写格式:关键字 数组名 赋值符号 中括号 分号

let arr=[];//object

方式2:构造函数

书写格式:关键字 数组名 赋值符号 new Array();

 let arr1 = ["A", "B", "C", "D", "E"];
 console.log(arr1[2]);//C
 console.log(arr1[10]); //undefined
//获取数组数据的个数:数组名.length
 console.log(arr1.length); //5

数组的方法:

增、删、改、查

let arr1 = ["A", "B", "C", "D", "E"];

新增:

在数组最后一位添加数据

书写格式:数组名.push()

arr1.push(10);
console.log(arr1);

在数组第一位添加数据

书写格式:数组名.unshift()

arr.unshift(1);
console.log(arr1);

删除:

删除数组最后一个数据:

书写格式:数组名.pop()

let temp1 = arr1.pop();

删除数组第一个数据:

书写格式:数组名.shift()

 let temp2 = arr1.shift();

查找:

书写格式:数组名.includes(查找的数据)

注:返回Boolean,存在返回true,不存在返回false;

let result = arr1.includes("X");

console.log(result);

修改:

let arr1 = ["A", "B", "C", "D", "E", "A"];

书写格式:数组名.indexOf(查找的数据)

注:从前往后找,找到第一个满足,查找的数据

则返回对应的下标, 数据不存在返回 - 1

let result = arr1.indexOf("A");

console.log(result); //0

书写格式:数组名.indexOf(查找的数据)

注:从后往前找,找到第一个满足,查找的数据

则返回对应的下标, 数据不存在返回 - 1

result = arr1.lastIndexOf("A");

console.log(result); //5

slice批量获取数组的内容(不会改变原数据的内容)

书写格式:数组名.slice(参1,参2)

如果只有一个实参,把这个实参作为下标

获取从这个下标到数组的最后一个的数据

如果给了两个实参:

参1代表起始下标

参2代表结束下标

功能:获取参1到参2前一位的数据

注:

1、如果实参是负数,则数组长度与其相加

2、如果不满足获取条件(第一个实参必须大于第二个实参),则返回空数组

splice 增、删、改

删除:

一个参数

把参数作为删除的起始下标,删除这个参数到数组的最后一个值

返回被删除的内容

两个参数

参1代表删除的起始下标

参2被删除的个数

返回被删除的内容

修改、增加:

三个参数

情况1:参2是0,代表插入

参1代表插入的起始下标

参3是插入的数据

返回空数组

情况2:参2不是0,代表修改

参1代表修改的起始下标

参2代表修改的个数

参3是修改的数据

返回空数组

N个参数

参数3个及3个以后的参数为修改或插入的数据。(修改或插入取决于第二个参数)

数组转字符串:

书写格式:数组名.join(分隔符),如果不传实参,则默认为逗号

字符串转数组:

书写格式:字符串.split(分隔符)

如果不传实参,则按位存储

快捷转换,字符串转数组

数组的合并:

//方式1:
let arr1=[1,2,3];
let arr2=[4,5,6];
let arr3=[...arr1,...arr2];
console.log(arr3);
?
//方式2:数组A.concat(数组B) 返回合并后的结果
let temp = arr1.concat(arr2);
console.log(temp);
?

批量添加数据

arr1.push(...arr2);
console.log(arr1);//?[1, 2, 3, 4, 5, 6]

取整

let arr = [123,1,23,12340,23,-4,234,3,6,4567,4,567,345];
let maxNum = Math.max(...arr);
let minNum = Math.min(...arr);
//向下取整
let num1 = Math.floor(123.66);
num1 = Number.parseInt(123.66);
//向上取整
let num2 = Math.ceil(123.45);
console.log(num1,num2);

扩展

copyWithin把制定的数据,替换到相应位置(会改变原数组)

参1:从该位置开始替换

参2:替换数据的起始位置

参3:替换数据的结束位置(不包含结束位置的数据)

注:如果不给参3,则是数组长度

let arr = [1, 2, 3, 4, 5, 6, 7];
?
console.log(arr);
?
arr.copyWithin(0, 2, 4);
?
console.log(arr);

fill填充:

一个参数:

把数组的数据都替换为参数的值

两个参数:

参1替换的数据

参2替换起始的位置,即从参2的位置到数组的最后一个数据都替换为参1的值

三个参数:

参1替换的数据

参2替换的起始位置

参3替换的结束位置

即从参2的位置到参3的前一位都替换为参1的值

let arr = [1, 2, 3, 4, 5, 6, 7];
?
console.log(arr.fill(7,3,5))
?
console.log(arr);
?
###### delete删除
?
和splice 的区别 长度不变 

清空数组:

//方式1
arr.splice(0);
console.log(arr);
//方式2
arr.length=0;
console.log(arr);
//方式3:
arr=[];

判断是否存在NaN

let arr = [1, 2, true, false, undefined, NaN, "A", "B"];
console.log(arr.includes(NaN));

多维数组

let arr4 = ["f78", "79"];
let arr5 = [undefined, "A", true, arr4];
console.log(arr5[3]); //["f78", "79"]
console.log(arr5[3][1]); //79
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:18:34  更:2021-10-18 17:21:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:14:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码