Js中数组的实用语法

1. 循环

a. 循环项

const arr = [1, 2, 3];for (let item of arr) {console.log(item);
}
// 输出:1 2 3

b. 循环键

const arr = [1, 2, 3];for (let key in arr) {console.log(key);
}
// 输出:0 1 2

c. 循环键值对

const arr = [1, 2, 3];arr.forEach((item, index) => {console.log(item);console.log(index);
});// 输出:1 0 2 1 3 2

3. 修改项

let arr = [1, 2, 3];arr = arr.map(item => item + 1);
console.log(arr);// 输出:[2, 3, 4]

5. 排序

a. 条件排序

注:sort中的方法第一个参数是从第二项开始

返回值小于0:current在previous之前

返回值大于0:current在previous之后

let arr = [1, 2, 3];arr = arr.sort((current, previous) => previous - current);
console.log(arr);// 输出:[3, 2, 1]arr = arr.sort((current, previous) => current - previous);
console.log(arr);// 输出:[1, 2, 3]

b. 倒叙

let arr = [1, 2, 3];arr = arr.reverse();
console.log(arr);// 输出:[3, 2, 1]

6. 条件

a. 过滤

let arr = [1, 2, 3];arr = arr.filter(item => item >= 2);
console.log(arr);// 输出:[2, 3]

b. 获取指定项

const arr = [1, 2, 3];const a = arr.find(item => item === 2);
console.log(a);// 输出:2

c. 包含满足指定条件项

const arr = [1, 2, 3];const b = arr.some(item => item === 2);
console.log(b);// 输出:trueconst b2 = arr.some(item => item === 0);
console.log(b2);// 输出:false

d. 全部满足指定条件

const arr = [1, 2, 3];
const b = arr.every(item => item === 2);
console.log(b);// 输出:falseconst b2 = arr.every(item => item > 0);
console.log(b2);// 输出:true

7. 拼接

a. 拼接转字符串

const arr = [1, 2, 3];
const s = arr.join(",");
console.log(s);// 输出:1,2,3

b. 拼接数组

const arr = [1, 2, 3];
const arr2 = [4, 5, 6];const a = arr.concat(arr2);
console.log(a);// 输出:[1, 2, 3, 4, 5, 6]

c. 截取指定片段

arr.slice(起始位置(从0开始),结束位置(不包含));

const arr = [1, 2, 3];
const a = arr.slice(1, 2);
console.log(a);// 输出:[2]

d. 截取掉并替换指定片段

arr.splice(起始位置(从0开始), 替换数量, 替换数据(没有的话相当于删除))

const arr = [1, 2, 3];const a = arr.splice(0, 1);
console.log(arr);
console.log(a);// 输出:[2, 3] [1]

e. 添加项

const arr = [1, 2, 3];arr.push(4);
console.log(arr);// 输出:[1, 2, 3, 4]

f. 删除项

const arr = [1, 2, 3];const a = arr.pop();
console.log(arr);
console.log(a);// 输出:[1, 2] 3

g. 删除头部项

const arr = [1, 2, 3];arr.unshift(0);
console.log(arr);// 输出:[0, 1, 2, 3]

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

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

相关文章

Mysql数据库 19.Mysql 锁

MySQL锁 锁:锁是计算机用以协调多个进程间并发访问同一共享资源的一种机制,在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源,如何保证数据并发访问的一…

SpringBoot 自动装配原理---源码详解

目录 SpringBoot 自动装配原理源码流程详解:流程总结:条件匹配解释:其他解释: SpringBoot 自动装配原理 源码流程详解: 1、先看启动类,启动这个main方法,然后调用这个run方法。 2、把 启动类作…

南京邮电大学数据库实验二

1. 用create database命令创建电影数据库(MovieDB)。 create database MovieDB; 在创建表之前需调用一下指定的数据库: use MovieDB; 2.在电影数据库中用create table 命令创建如下5个关系模式: 创建movies表: create table Movies( ti…

城市货车通行码二维码解析

目录 说明 界面 下载 城市货车通行码二维码解析 说明 二维码扫描信息为: tmri://12123?ywlx1041&ewmeyJ0eHpiaCI6IjUxMDcwMDAwMDE0MyIsInR4em1jIjoiQeivgSIsImhwemwiOiIwMiIsImhwaG0iOiLlt51CMkwzMjYiLCJrc3JxIjoiMjAyMS0xMS0yOCIsImpzcnEiOiIyMDIyLTEyL…

虚幻学习笔记12—C++类的实例化

一、前言 本系列如无特殊说明使用的虚幻版本都是5.2.1,VS为2022版本。在Unity中通常创建的脚本都默认继承了MonoBehavior,都是不能再用代码New而实例化的,虚幻也是一样不能直接New来实例化。在Unity中是通过Instantiate方法来实例化一个游戏对…

C++ lambda表达式

写法格式 lambda表达式的写法格式如下: [capture-list] (parameters) mutable -> ret { statement } 各部分的说明为:[capture-list] : 捕获列表,编译器根据[]来判断接下来的代码是否为lambda函数,捕捉列表能够捕捉上下文中…

【ArcGIS Pro微课1000例】0055:Pro中如何处理个人数据库(.mdb)

文章目录 原因分析解决方案使用ArcGIS Pro的用户应该已经发现个人地理数据库(.mdb)不能使用了。随着ESRI的软件技术革新,在ArcGIS Pro中不再支持且将来也不会支持个人地理数据库(.mdb)。这个确实很烦人,很多项目还是在使用mdb数据库的。不过ESRI也给出了一些解决办法,不…

二叉搜索树的简单C++类实现

二叉搜索树(BST)是一种重要的数据结构,它对于理解树的操作和算法至关重要。本文将通过一个C示例来展示如何实现一个BST,并在插入和删除节点时提供清晰的输出,以帮助可视化这些操作的过程。 二叉搜索树的节点结构 首先…

Elasticsearch 8.9 search命令执行查询源码

一、相关的API的handler1、接收HTTP请求的handler2、往数据节点发送查询请求的action(TransportSearchAction)3、通过transportService把查询请求发送到指定的数据节点 二、数据节点收到请求的处理逻辑1、尝试从缓存中加载查询结果2、不通过缓存查询,直接执行查询(1…

Elasitcsearch--解决CPU使用率升高

原文网址:Elasitcsearch--解决CPU使用率升高_IT利刃出鞘的博客-CSDN博客 简介 本文介绍如何解决ES导致的CPU使用率升高的问题。 问题描述 线上环境 Elasticsearch CPU 使用率飙升常见问题如下: Elasticsearch 使用线程池来管理并发操作的 CPU 资源。…

智慧农业大数据可视化UI,数据展示平台(免费可视化大屏模版PS资料)

大屏幕展示方式可以实现信息的直观呈现与交互操作,使农业生产者能够一目了然地掌握有关农情、天气、土壤等数据信息,从而科学决策。智慧农业大数据可视化大屏是提升农业生产效益的一种重要工具。 现分享亩产效益指标、农业大数据可视化、农业数据展示平…

QEMU源码全解析 —— virtio(11)

接前一篇文章: 上一回对于virtio_balloon_pci_realize函数进行了详细解析。最后讲到在virtio_balloon_pci_realize函数的最后一步调用了object_property_set函数,从而导致了virtio_device_realize函数的执行。本回就来对于virtio_device_realize函数进行…

Flutter工具安装与环境搭建

1、下载 Flutter SDK,下载完成后,在需要放置SDK的地方解压即可。 注意: 请勿将 Flutter 有特殊字符或空格的路径下。请勿将 Flutter 安装在需要高权限的文件夹内,例如 C:\Program Files\。 2、配置环境变量 例如: …

NO-IOT翻频,什么是翻频,电信为什么翻频

1.1 翻频迁移最终的目的就是减少网络的相互干扰,提供使用质量. 1.2 随着与日俱增的网络规模的扩大,网内干扰已成了影响网络的质量标准之一,为了保障电信上网体验,满足用户日益增长的网速需求,更好的服务客户,电信针对…

【迅搜09】索引管理(二)增删改操作

索引管理(二)增删改操作 今天我们来学习真正的,最核心的索引管理相关的操作。但其实今天的内容还更简单一些,为啥呢?因为索引管理中,最核心的就是对于数据的增、删、改呀。其实要往大了说,查询也…

缓存的定义及重要知识点

文章目录 缓存的意义缓存的定义缓存原理缓存的基本思想缓存的优势缓存的代价 缓存的重要知识点 缓存的意义 在互联网高访问量的前提下,缓存的使用,是提升系统性能、改善用户体验的唯一解决之道。 缓存的定义 缓存最初的含义,是指用于加速 …

宝塔PostgreSQL设置数据库远程访问

宝塔PostgreSQL设置数据库远程访问 宝塔的PostgreSQL1. 添加数据库2. 打开PostgreSQL设置界面3. 修改配置4. 重载配置/重启数据库 Docker的PostgreSQL1. postgresql.conf2. pg_hba.conf3. 重启数据库 注意其他问题 宝塔PostgreSQL设置数据库远程访问?docker容器Post…

CleanMyMac X2024(Mac优化清理工具)v4.14.5中文版

CleanMyMac X是一款颇受欢迎的专业清理软件,拥有十多项强大的功能,可以进行系统清理、清空废纸篓、清除大旧型文件、程序卸载、除恶意软件、系统维护等等,并且这款清理软件操作简易,非常好上手,特别适用于那些刚入手苹…

《每天一个Linux命令》 -- (15) mkdir命令

欢迎阅读《每天一个Linux命令》系列 !在本篇文章中,将说明mkdir命令用法。 概念 mkdir命令是Linux系统下的目录创建命令,用于创建指定的目录。 英文原意:make directories,所在路径:/bin/mkdir&#xff0…

【AI】YOLO学习笔记

作为经典的图像识别网络模型,学习YOLO的过程也是了解图像识别的发展过程,对于初学者来说,也可以了解所采用算法的来龙去脉,构建解决问题的思路。 1.YOLO V1 论文地址:https://arxiv.org/abs/1506.02640 YOLO&#x…