js数组方法笔记

1.push() 在数组最后一位添加一个或多个元素,返回值为新的数组长度

 var arr = [1, 2, "c"];var rel = arr.push("A", "B");console.log(arr); // [1, 2, "c", "A", "B"]console.log(rel); //  5  (数组长度)

2.unshift() 在数组第一位添加一个或多个元素,并返回新的数组长度

 var arr = [1, 2, "c"];var rel = arr.unshift("A", "B");console.log(arr); // [ "A", "B",1, 2, "c"]console.log(rel); //  5  (数组长度)

3.pop() 删除数组的最后一位,并返回所删除的元素

   var arr = [1, 2, "c"];var rel = arr.pop();console.log(arr); // [1, 2]console.log(rel); // c

4.shift() 删除数组第一位,并返回当前被删除的元素

    var arr = ["a","b", "c"];var rel = arr.shift();console.log(arr); // ['b', "c"]console.log(rel); // a

5.reverse() 反转数组,并返回新的数组

  var arr = [1, 2, 3, "a", "b", "c"];var rel = arr.reverse();console.log(arr); //    ["c", "b", "a", 3, 2, 1]console.log(rel); //    ["c", "b", "a", 3, 2, 1]

sort() 数组排序 ,默认根据字符串unicode码排序,会直接改变数组

  var arr1 = [10, 1, 5, 2, 3];//默认排序arr1.sort();//从小到大 a - b > 0  a 会被排列到 b 之前arr1.sort((a,b)=>{return a - b})//从大到小arr1.sort((a,b)=>{return b - a})//对象数组排序var arr1 = [{ name: "老八", age: "38" },{ name: "赵日天", age: "28" },{ name: "龙傲天", age: "48" },];arr1.sort(function (a, b) {console.log(a, b);return b.age - a.age;});console.log(arr1);

7.splice() 添加或删除或替换数组元素,并返回当前被删除的元素

用法:array.splice(start,deleteCount,item…)

//替换元素
var a=['a','b','c'];
var b=a.splice(1,1,'e','f');    //a=['a','e','f','c'],b=['b']
//删除元素
var arr1 = [1,3,5,7,9,11];
var arrRemoved = arr1.splice(0,2);
console.log(arr1);   // [5,7,9,11]
console.log(arrRemoved);   // [1,3]
//添加元素
var arr1 = [22,3,31,12];
arr1.splice(1,0,12,35);
console.log(arr1);   // [22,12,35,3,31,12]

8.concat 用于连接两个或多个数组

var arr1 = [1,3,5,7];
var arrCopy = arr1.concat(9,[11,13]);
console.log(arrCopy);   // [1,3,5,7,9,11,13]
console.log(arr1);   // [1,3,5,7](原数组未被修改)

9.slice截取数组

array.slice(start,end)

10. forEach() 遍历数组,无返回值

11.map 遍历数组,并返回一个新的数组

12.some 判断数组中时候存在满足条件的项,返回值为boolean类型

var arr1 = [1,2,3,4,5];
var arr2 = arr1.some(x => {return x < 3;
});
console.log(arr2);   // truevar arr3 = arr1.some(x => {return x < 1;
});
console.log(arr3);   // false

13 reduce,reduceRight 迭代数组的所有项,累加器

var arr1 = [1,2,3,4,5];
var sum = arr1.reduce((prev,cur,index,array) => {return prev + cur;
},10);   // 数组一开始加了一个初始值10,可以不设默认0
console.log(sum);   // 25

14 .toLocaleString()和toString() 将数组转换为字符串

var arr1 = [22,3,31,12];
let str = arr1.toLocaleString();
var str2 = arr1.toString();console.log(str);   // 22,3,31,12
console.log(str2);   // 22,3,31,12

15find 返回匹配的第一个元素的值,无则返回undefined

16.findIndex 返回第一个匹配的元素的下标

17.entries()、keys()和values()

keys()是对键名的遍历、values()是对键值的遍历、entries()是对键值对的遍历

for(let index of [a,b].keys()){console.log(index);
}
// 0
// 1for(let elem of [a,b].values()){console.log(elem);
}
// a
// bfor(let [index,elem] of [a,b].entries()){console.log(index,elem);
}
// 0 'a'
// 1 'b'

18 indexOf 可以在字符串和数组上使用

返回某个指定的字符串值(基本数据类型)在字符串、数组中首次出现的位置

19 includes 返回值为布尔类型,判断字符串或数组是否包含指定的值

20 join 转换为字符串,默认为‘,’号,可指定连接字符

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

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

相关文章

为什么选择计算机?大数据时代学习计算机的价值探讨

还记得当初自己为什么选择计算机? 计算机是在90年代兴起的专业,那时候的年轻人有驾照、懂外语、懂计算机是很时髦的事情! 当初你问我为什么选择计算机,我笑着回答:“因为我梦想成为神奇的码农!我想像编织魔法一样编写程序,创造出炫酷的虚拟世界!”谁知道,我刚入门的…

如何安装docker

安装Docker的步骤取决于您使用的操作系统。以下是常见操作系统上安装Docker的基本步骤&#xff1a; 对于Linux: 更新软件包索引&#xff1a; sudo apt-get update安装允许apt通过HTTPS使用仓库的包&#xff1a; sudo apt-get install apt-transport-https ca-certificates cur…

OpenCV开发:MacOS源码编译opencv,生成支持java、python、c++各版本依赖库

OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库。它为开发者提供了丰富的工具和函数&#xff0c;用于处理图像和视频数据&#xff0c;以及执行各种计算机视觉任务。 以下是 OpenCV 的一些主要特点和功能&#xff…

Java实现订单超时未支付自动取消的8种方法总结

Java实现订单超时未支付自动取消的8种方法总结 定时轮询 数据库定时轮询方式&#xff0c;实现思路比较简单。启动一个定时任务&#xff0c;每隔一定时间扫描订单表&#xff0c;查询到超时订单就取消。优点&#xff1a;实现简单。缺点&#xff1a;轮询时间间隔不好确定&#x…

解决spa页面首屏加载慢的方式笔记

1.减少入口文件的体积 路由懒加载&#xff1a;在需要的时候进行加载&#xff0c;按需加载 前提&#xff1a;进行懒加载的子模块需要是一个单独的文件&#xff0c;所以要实现懒加载&#xff0c;就得先将进行懒加载的子模块&#xff08;子组件&#xff09;分离出来 vue router 支…

微服务Redis-Session共享登录状态

一、背景 随着项目越来越大&#xff0c;需要将多个服务拆分成微服务&#xff0c;使代码看起来不要过于臃肿&#xff0c;庞大。微服务之间通常采取feign交互&#xff0c;为了保证不同微服务之间增加授权校验&#xff0c;需要增加Spring Security登录验证&#xff0c;为了多个服务…

关于MSSQL存储过程的功能和用法

MSSQL存储过程是一种在Microsoft SQL Server数据库中存储和执行SQL代码的数据库对象。它可以用于数据处理和计算、数据库管理、事务处理以及实现安全性等多种功能。 以下是MSSQL存储过程的主要功能和用法&#xff1a; 数据处理和计算&#xff1a;可以使用MSSQL存储过程进行数…

#投屏,数据传输,局域网,远程,视频分享方式

步骤&#xff1a; 打开蓝牙配对连接 手机与电脑&#xff1a; 手机主动连接不上。电脑却可以连接手机。 连接上了&#xff0c;手机却不能向电脑传输文件&#xff0c;电脑可以向手机传输文件。 手机不能发送文件&#xff0c;很奇怪。但是电脑却可以向手机发送文件。 而且新老…

常用网安渗透工具及命令(扫目录、解密爆破、漏洞信息搜索)

目录 dirsearch&#xff1a; dirmap&#xff1a; 输入目标 文件读取 ciphey&#xff08;很强的一个自动解密工具&#xff09;&#xff1a; john(破解密码)&#xff1a; whatweb指纹识别&#xff1a; searchsploit&#xff1a; 例1&#xff1a; 例2&#xff1a; 例3&…

Git----学习Git第一步基于 Windows 10 系统和 CentOS7 系统安装 Git

查看原文 文章目录 基于 Windows 10 系统安装 Git 客户端基于 CentOS7 系统安装部署 Git 基于 Windows 10 系统安装 Git 客户端 &#xff08;1&#xff09;打开 git官网 &#xff0c;点击【windows】 &#xff08;2&#xff09;根据自己的电脑选择安装&#xff0c;目前一般w…

【自顶向下看Java——深度剖析抽象类和接口】

系列文章目录 欢迎大家订阅《计算机底层原理》、《自顶向下看Java》专栏、能够帮助到大家就是对我最大的鼓励、我会持续为大家输出优质内容&#xff0c;敬请期待&#xff01; 系列文章目录 文章目录 前言 一、抽象类 什么是抽象类&#xff1f; 为什么要使用抽象类&#xff1f; …

@Data@NoArgsConstructor@AllArgsConstructor 这几个常用注解什么意思?

这三个注解通常用于简化Java类的开发&#xff0c;特别是在使用一些框架时&#xff0c;如Lombok。让我们逐个解释这些注解的作用&#xff1a; 1. Data Data 是 Lombok 提供的一个组合注解&#xff0c;它包含了一组常用注解的功能&#xff0c;如 ToString、EqualsAndHashCode、…

一种解决Qt5发布release文件引发的无法定位程序输入点错误的方法

目录 本地环境问题描述分析解决方案 本地环境 本文将不会解释如何利用Qt5编译生成release类型的可执行文件以及如何利用windeployqt生成可执行的依赖库&#xff0c;请自行百度。 环境值操作系统Windows 10 专业版&#xff08;22H2&#xff09;Qt版本Qt 5.15.2Qt Creator版本5.0…

K8S的一个pod中运行多个容器

通过deployment的方式部署 创建一个deployment文件 [rootk8s-master1 pods]# cat app.yaml apiVersion: apps/v1 kind: Deployment metadata:name: dsfnamespace: applabels:app: dsf spec:replicas: 1selector:matchLabels:app: dsftemplate:metadata:labels:app: dsfspec:i…

P2P如何使用register_attention_control为UNet的CrossAttention关联AttentionStore

上次的调试到这里了&#xff0c;写完这篇接着看&#xff0c;prepare_latents_ddim_inverted 如何预计算 inversion latents&#xff1a; /home/pgao/yue/FateZero/video_diffusion/pipelines/p2p_ddim_spatial_temporal.py 1. 原始的UNet3D的CrossAttention和SparseCausalAtte…

深度学习中的潜在空间

1 潜在空间定义 Latent Space 潜在空间&#xff1a;Latent &#xff0c;这个词的语义是“隐藏”的意思。“Latent Space 潜在空间”也可以理解为“隐藏的空间”。Latent Space 这一概念是十分重要的&#xff0c;它在“深度学习”领域中处于核心地位&#xff0c;即它是用来学习…

C#基础知识 - 操作数与运算符篇

C#基础知识 - 操作数与运算符篇 4.1 表达式 - 操作数与运算符组成4.1.2 C#中常见的表达式类型&#xff1a;4.1.2 表达式示例 更多C#基础知识详解请查看&#xff1a;C#基础知识 - 从入门到放弃 4.1 表达式 - 操作数与运算符组成 C#中&#xff0c;表达式&#xff08;expression…

kafka入门(四):kafka生产者发送消息

创建生产者实例和构建消息之后&#xff0c;就可以开始发送消息了。 发送消息主要有三种模式&#xff1a;发后即忘、同步、异步。 发后即忘&#xff1a; 就是直接调用 生产者的 send方法发送。 发后即完&#xff0c;只管往 kafka中发送消息&#xff0c;而不关心消息是否正确…

用GitBook制作自己的网页版电子书

用GitBook制作自己的网页版电子书 前言 几年前阅读过其他人用GitBook创建的文档&#xff0c;可以直接在浏览器中打开&#xff0c;页面干净整洁&#xff0c;非常清爽&#xff0c;至今印象深刻。 GitBook非常适合用来为个人或团队制作文档&#xff0c;对于我这种偶尔写博客的人…

和鲸科技CEO范向伟受邀出席港航数据要素流通与生态合作研讨会,谈数据资产入表的战略机会

近日&#xff0c;由上海虹口数字航运创新中心、龙船&#xff08;北京&#xff09;科技有限公司&#xff08;下简称“龙船科技”&#xff09;、华东江苏大数据交易中心联合举办的“港航数据要素流通与生态合作研讨会”圆满落幕&#xff0c;来自港航领域的近百名企业代表共同参与…