js数组方法应用场景汇总

通俗易通解释SLAM问题的数学描述:运动方程和观测方程 高翔博士在他的《视觉SLAM十四讲》中把SLAM问题的数学描述抽象成了两个数学方程,以下对此做个总结,并且对此做一些通俗易懂的解释: 一、方程的总体形式 作为理性层次的描述,我们引入数学方程来描述SLAM过程,其中第一个方程叫做运动方程、第二个方程叫做观测方程,想象一下我们在研究SLAM的时候肯定需要观测机器人(无人汽车、无人机等都可以统称为机器人)的运动(画面感很强哈哈),这样很容易理解并且记忆这两个方程的名称和意义: 二、变量的含义 我们看到,这两个方程中有大量的英文字母作为变量存在其中,下面介绍一下 阅读详情

数组的创建

  1. var arrayObj = new Array();
    创建一个数组
  2. var arrayObj = new Array([size]);
    const arr = Array(100)
    创建一个数组并指定长度,注意不是上限,是长度
  3. var arr = [1,2,4] === var arr =new Array(1,2,4) === var arr = Array(1, 2, 4)
    创建一个数组并赋值
    实际上情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的

数组的元素的访问

  1. 获取数组的元素值
    var testGetArrValue = arrayObj[1];
  2. 给数组元素赋予新的值
    arrayObj[1]= “这是新值”;

数组元素的添加

  1. 将一个或多个新元素添加到数组结尾,并返回数组新长度
    array. push(item)
  2. 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
    arrayObj.unshift(item);
  3. 将一个或多个新元素插入数组指定位置, 并向数组添加新元素,深拷贝返回空数组。
    arrayObj.splice(insertPosition, 0, item);

数组元素的删除 (调用方法后数组形式返回所移除的元素, 原数组移除元素)

  1. 移除最后一个元素并返回该元素值
    arrayObj.pop();
  2. 移除最前一个元素并返回该元素值,数组中元素自动前移
    arrayObj.shift();
  3. 删除从指定位置deletePos开始的指定数量deleteCount的元素arrayObj.splice(deletePos,deleteCount);
    例子:
const arr1 = Array(22, 2, 4);
console.log(arr1.splice(0, 1), arr1);              //  [22]    [2, 4]

数组的截取和合并

  1. 数组的形式返回数组的一部分, 深拷贝
    arrayObj.slice(start, [end]); 不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素
  2. 将多个数组(或字符串,或数组和字符串的混合)合并,并返回新数组
    arrayObj.concat([item1[, item2[, . . . [,itemN]]]]);
  3. 以value为分隔将字符串切割为对应部分,返回数组
    String.split(“value”)
  4. 用于把数组中的所有元素放入一个字符串,以value分隔的字符串
    Array.join(“value”)
  5. 指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
    arr.flat([depth])
    例子:
const arr = [1, [2], [[22, 33]]];
const a = arr.flat(2);
console.log(a, arr);     [1,2,22,33]            [1, [2], [[22, 33]]];

注: flat() 方法会移除数组中的空项

数组的拷贝

  1. 返回数组的拷贝数组,注意是一个新的数组,不是指向(深拷贝)
    arrayObj.slice(0);
    arrayObj.concat();
  2. 数组元素的排序
    反转元素(最前的排到最后、最后的排到最前),返回数组地址,浅拷贝
    arrayObj.reverse();
    对数组元素排序,返回数组地址, 浅拷贝
    arrayObj.sort();

数组元素的字符串化

  1. 返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。
    arrayObj.join(separator);
  2. 可以看作是join的特殊用法,不常用
    toLocaleString 、toString 、valueOf

查询元素有没有在数组中

  1. includes 返回ture/false,
    array1.includes(1)、
  2. indexOf返回元素位置/-1
    array1.indexOf(0)

数组累加

  1. 对数组中的元素执行reducer函数(升序执行),将其结果汇总为单个返回值
    arr.reduce(function(pre, cur, index, array))
    例子:
const arr = [1, 2, 3];
const a = arr.reduce((pre, cur) => pre + cur, 2);
console.log(a, arr);

随机返回数组中数据

  1. 返回小于或等于其数字参数的最大整数
    Math.floor()
  2. 返回0到1之间的伪随机数
    Math.random()
    例子:
const arr = ['3070532', '3073185'];
console.log(arr[Math.floor((Math.random() * arr.length))]);

数组的3个属性(length、prototype、constructor)

  1. Length
    length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1, js数组的length属性是可变的
  2. Prototype
    使您有能力向对象添加属性和方法。返回对象类型原型的引用。prototype 属性是 object 共有的,用 prototype 属性提供对象的类的一组基本功能。 对象的新实例“继承”赋予该对象原型的操作。
    例子:
function arrayMax() {
  let max = 0;
  for (let i = 0; i < this.length; i++) {
    if (max < this[i]) {
        max = this[i];
     }
  }
  return max;
}
Array.prototype.max = arrayMax;
console.log([1, 2, 3, 44, 11, 2211, 555].max());
  1. constructor 属性
    表示创建对象的函数,object.constructor // object是对象或函数的名称。
    返回对创建此对象的数组函数的引用
科研必备:15款顶尖AI科研工具全面分析汇总(持续更新ing) 科研必备:15款AI科研工具全面分析汇总(持续更新ing) 阅读详情

相关推荐

微机原理课程设计-模拟十字路口交通信号灯

一、设计任务描述 1.1设计目的 通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。为以后学生结合专业从事微机应用设计奠定基础。 1.2 设计要求 控制LED灯,按照十字路口红绿灯的原理亮灭显示: (1) 东西方向车辆放行x秒...

Learning_is_endless的博客 2万+

JavaScript 数组方法详解:全面指南

JavaScript数组是Web开发中处理数据的核心工具,提供了多种内置方法以高效操作数组元素。本文基于ECMAScript 2023标准,详细介绍了数组方法的功能、语法和应用场景,包括最新方法如toSorted和toReversed。文章首先概述了数组的基本概念和操作方法,随后分类讲解了添加删除、转换、迭代、搜索等功能的数组方法,并提供了实际应用示例。此外,文章还强调了变异与非变异方法的区别,以及性能优化和浏览器兼容性的注意事项,旨在帮助开发者更好地理解和运用JavaScript数组方法。

zimin的专栏 1077

分布式 Agent 系统设计:高并发场景下的挑战与解决方案

分布式 Agent 系统由多个分布在不同节点上的智能 Agent 组成,这些 Agent 具有自主决策能力,能够通过通信协作完成复杂任务。每个 Agent 可以看作是一个独立的实体,具备感知环境、处理信息、执行动作的功能,它们相互协作,共同实现系统的整体目标。分布式 Agent 系统在高并发场景下面临着资源调度、通信延迟、状态一致性、容错处理和性能瓶颈等诸多挑战。通过采用动态资源分配、高效通信协议、分布式共识算法、冗余备份等解决方案,可以有效应对这些挑战,提高系统的性能、可靠性和可用性。

shuizhudan223的博客 1294

JavaScript所有的数组使用方法及场景(包括es6及以后),这一篇就够了

使用场景:返回一个包含数组中每个索引的新Array Iterator对象。使用场景:创建一个新数组,其结果是对原数组中的每个元素调用提供的函数。使用场景:创建一个新数组,其中包含通过提供函数实现的测试的所有元素。使用场景:返回数组中第一个找到的元素的索引,如果不存在则返回 -1。使用场景:对数组中的所有元素执行一个累积器函数,并返回累积的结果。使用场景:从类似数组或可迭代对象创建一个新的数组实例。使用场景:返回数组中通过测试的第一个元素的索引。使用场景:返回数组中通过测试的第一个元素的值。

weixin_44803406的博客 529

量子通信:初识量子城域网

对量子城域网的概念、作用、拓扑、建设内容等进行了较为全面的初步介绍。

量子领域相关话题 3349

stm32f407等芯片(HAL库)时钟频率修改(乱码)

其他片子及库文件未知、未验证,只是在使用stm32f407ZG配置串口打印的时候,出现乱码,就从以下几方面定位问题: 1. 确认串口GPIO相关配置; 2. 确认波特率等参数; 3. 确认时钟频率; 结果这次使用YH的串口打印程序在ZDYZ的开发板调试项目工程(有点另类...),做功能验证,就出现了以上问题,出于好奇开始调试,最终发现是时钟频率问题。 看到下图这个配置,因为ZDYZ开发板使用的是8MHz外部晶振(好像默认的是25MHz,如图2),所以他这里PLL_M是25,不是推荐值,感...

bulefire2009的博客 5517

前端必会的数组常用方法

前端必会的数组常用方法

m0_62877814的博客 902

R语言生存分析之限制性立方样条分析:样条回归、和多项式回归有什么不同?是否存在非线性关系、限制性立方样条cox回归模型

R语言生存分析之限制性立方样条分析:样条回归、和多项式回归有什么不同?是否存在非线性关系、限制性立方样条cox回归模型

statistics+insight+vista+power 635

数组(一)基础介绍

在每种编程语音中,都存在数组这种数据结构。它不仅是编程语音中的一种数据结构,也是最基础的一种数据结构。例如java中的ArrayList,底层的数据结构便是数组。

zhao6406879的博客 1135

Centos7 yum 报错「Errno 256」No more mirrors to try 解决方法

首先该问题的出现是由于网络的震荡导致,这是重点。(1)将源更换成阿里云的官方源,步骤参考如上(2)同时将zabbix的官方源更换成阿里云里面的zabbix镜像源,因为zabbix官方源根本网络不通,因为国家防火墙的拦截,导致网络不通。这是阿里源的zabbix镜像地址: https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/修改系统中早期生成的zabbix.repo文件,如下:主要是把baseurl替换成阿里云的zabbix镜像地址即可。

专注基础架构领域 3875

嵌入式Zephyr RTOS面试题及参考答案

在Zephyr中,为自定义外设编写Devicetree绑定(Bindings)有助于内核理解设备树中自定义外设节点的含义和属性。首先,需要创建一个.yaml格式的绑定文件,通常存放在目录下对应的子目录中,文件名应能反映外设的类型和功能。绑定文件的开头要定义基本信息,包括字段,用于简要描述外设的功能和用途;compatible字段,它是一个字符串列表,用于匹配设备树中自定义外设节点的compatible属性,设备树节点和绑定文件通过这个字段关联起来。接下来,要定义外设节点的属性。使用properties。

大模型大数据攻城狮的专栏 987

js常用数组方法的使用场景

已知数组中的一个值 找到这个值所对应的对象 // 已知val fun(val) { let label = {}; label = this.labelOptions.find((item)=>{ return item.id === val; }); } 已知数组中的一个值 要删除这个值所在的对象 (elementui中 要删除一行的数据) handleDel(index) { let label = [{}, {}] label.sp.

weixin_44813417的博客 530

TIA博途WINCC的触摸屏VB脚本入门指南(嵌入式)

通过编写事件处理程序,您可以响应触摸屏元素的各种事件,并实现自定义的功能。本文将为您提供TIA博途WINCC触摸屏VB脚本的入门指南,帮助您了解基本的脚本编写和嵌入式开发。假设我们有一个名为"Button1"的按钮元素,当用户点击该按钮时,触发相应的事件处理程序,并在触摸屏上显示一条消息。然后回到触摸屏界面编辑器,在按钮元素的属性窗口中找到"按下"事件,并选择刚才创建的脚本文件作为事件处理程序。现在,当用户点击按钮时,触摸屏将执行相应的事件处理程序,并显示一条消息框,内容为"按钮被点击了!

CodeSageX的博客 4423

JS面试题

JS面试题 1.对this的理解 是一个关键字,代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。 (1)做为纯粹的函数调用,this指向全局对象 (2)做为对象的方法调用,this指向调用对象 (3)做为构造函数被调用时,this指向新的对象 (4)apply调用this指向apply方法的第一个参数 2.JS有哪些内置对象 Object是JavaScript中所有对象的父对象 数据封装类对象:object 、array、boolean、number、string 其他对象:function、a

weixin_50539621的博客 149

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数组新增常用的4个方法

map --映射 let arr=[66,59,80]; let result=arr.map(item => { if(item >= 60){ return "及格" }else{ return "不及格" } }); //result:["及格", "不及格", "及格"] reduce --汇总 let arr = [12,69,180,8763]; let resu...

W Y L 704

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

js foreach ,filter ,some ,map ,reduce 的用法和总结和es6的新特性includes,padEnd,padStart

foreach : (循环)没有返回值,循环array或object 无法使用return或break停止 map : (映射)有返回值 ,返回什么是调用function的结果 some : 有返回值 ,如果有符合function条件的终止循环返回true,否则返回false 找true 返回true every : 有返回值...

enjoy_sun_moon的博客 407

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JS数组reduce()方法详解及高级技巧

这个大佬写的很详细了 https://www.jianshu.com/p/e375ba1cfc47 搭上菜鸟教程 https://www.runoob.com/jsref/jsref-reduce.html

qq_40815295的博客 333

JS常用高阶函数

JS常用高阶函数 一、filter() 每遍历数组中的一个数字就会执行一次回调函数,并且会把遍历的数字当做回调函数的参数。 filter()中的回调函数有一个要求:必须返回布尔值,即true/false。当返回为true时,函数内部会自动将这次回调的参数n加入到新的数组中,当返回false时,函数内部会自动忽略掉这次回调的参数n 二、map() 每遍历数组中的一个数字就会执行一次回调函数,并...

qq_44363897的博客 292

数组reduce和reduceRight

是 JavaScript 原生的数组方法之一,用于将数组中的元素通过回调函数累积为单个值。它适用于需要对数组进行汇总、累加、合并等操作的场景。方法返回的是累积器的最终值,可以是任何类型(数字、字符串、对象、数组等)。方法本身不支持异步操作,但如果需要处理异步任务,可以在回调函数中使用。如果数组为空且未提供初始值,

cqlcqlcui123的博客 787

数组方法及使用场景案例

JavaScript 数组提供了许多实用方法,让数组操作更加简洁高效。以下是常用的数组方法及其典型使用场景

demoking5的博客 603

Javascript使用技巧-提高工作效率

1  Javascript数组转换为CSV格式   首先考虑如下的应用场景,有一个Javscript的字符型(或者数值型)数组,现在需要转换为以逗号分割的CSV格式文件。则我们可以使用如下的小技巧,代码如下: 1 2 var fruits = ['apple', 'peaches', 'oranges', 'mangoes']; var

ejinxian的专栏 749

ES6数组新方法:map,reduce,filter,foreach

新增4个方法 map 映射 一个对一个 定义数组: let arr = [12, 5, 8] map应用初版: let result = arr.map(function (item) { return item*2 }) console.log(result)//结果:[ 24, 10, 16 ] 简写版本: let result2 = arr.map(item=>item*2) // 简写 console.log(result2)//结果:[ 24, 10, 16 ] 还可以: le

ZZhXuan的博客 240

JavaScript相关文章推荐

[code="java"] 判断js数组包是否包含某个元素 要判断数组中是否包含某个元素,从原理来来说,就是遍历整个数组,然后判断是否相等,我们来造个轮子,名字就山寨PHP的数组函数in_array() view sourceprint? 1 Array.prototype.in_array = function(e) 2 { 3 for(i=0;igetBase...

literaryfly的专栏 923

js 之中常用快速处理方法

目录js 之中常用的快速技巧方法求数组的最大值 & 最小值 js 之中常用的快速技巧方法 求数组的最大值 & 最小值 let arr = [100,888,2,5555,33,-111,7]; let max = Math.max.apply(null,arr); let min = Math.min.apply(null,arr) console.log('max',max,"min",min); // test.html:13 max 5555 min -

weixin_47409897的博客 1183

js高阶函数 - filter/map/reduce

高阶函数 高阶函数 — 一个函数接收另一个函数作为参数的函数 filter() — 过滤 filter中的回调函数必须返回一个布尔值,当返回true,函数内部会将回调的n加入到新的数组中,当返回false时,则把n过滤掉。 map() — 映射 对n进行处理,返回处理后的n加入到新数组中 reduce() – 汇总 至少传两个值 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

weixin_39288299的博客 379

es6数组map,reduce,filter,findIndex,forEach,some,every

es6数组map,reduce,filter,findIndex,forEach,some,every map(映射)1个对一个 进去什么最后return 什么 不会改变原数组,返回一个新的数组,对应参数:item 每次的值,当前索引,原来数组 arr var arr=[1,2,3,4]; console.log( arr.map((n)=>n*n) );//[1, 4, 9, 16...

qq_41064219的博客 323
上一篇: node与java区别(语言、生态、数据库、性能、开发效率,5个方面)
下一篇: gitlab上创建项目
蛮吉(lambda)
博客等级 码龄7年 2粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值