数组对象常用方法合集

1、运算扩展符

ES6通过扩展元素符<font style="color:rgb(71, 101, 130);">...</font>,好比 <font style="color:rgb(71, 101, 130);">rest</font> 参数的逆运算,将一个数组转为用逗号分隔的参数序列

console.log(...[1, 2, 3])
// 1 2 3console.log(1, ...[2, 3, 4], 5)
// 1 2 3 4 5[...document.querySelectorAll('div')]

通过扩展运算符实现的是浅拷贝,修改了引用指向的值,会同步反映到新数组

let sourece = [1, 2, 3, 4, 5, [11, 12]]
let temp = [6, 7, 8, 9]
let target = [...sourece, ...temp]
target[0] = 10
target[5][0] = 111
console.log(sourece) // [1,2,3,4,5,[111,12]]
console.log(temp)  // [6,7,8,9]
console.log(target) // [10,2,3,4,5,[111,12],6,7,8,9]

2、Array.from()

将两类对象转为真正的数组:类似数组的对象和可遍历<font style="color:rgb(71, 101, 130);">(iterable)</font>的对象(包括 <font style="color:rgb(71, 101, 130);">ES6</font> 新增的数据结构 <font style="color:rgb(71, 101, 130);">Set</font><font style="color:rgb(71, 101, 130);">Map</font>

let arrayLike = {'0': 'a','1': 'b','2': 'c',length: 3
};
let arr2 = Array.from(arrayLike);
console.log(arr2) // ['a', 'b', 'c']

还可以接受第二个参数,用来对每个元素进行处理,将处理后的值放入返回的数组

var aaa = [1, 2, 3]
var bbb = Array.from([1, 2, 3], (x) => x * x)
console.log(aaa) // [1,2,3]
console.log(bbb) // [1,4,9]

3、Array.of()

用于将一组值,转换为数组

console.log(Array.of()) // []
console.log(Array.of(3)) // [, , ,]
console.log(Array.of(3, 11, 8)) // [3, 11, 8]

4、copy.Within()

将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组

参数如下:

  • target(必需):从该位置开始替换数据。如果为负值,表示倒数。
  • start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示从末尾开始计算。
  • end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示从末尾开始计算。
var aaa = [1, 2, 3, 4, 5]
var bbb = aaa.copyWithin(0, 3)
console.log(aaa) //[4,5,3,4,5]
console.log(bbb)  //[4,5,3,4,5]var aaa1 = [1, 2, 3, 4, 5]
var bbb1 = aaa1.copyWithin(0, -2)
console.log(bbb1) //[4,5,3,4,5]var aaa2 = [1, 2, 3, 4, 5]
var bbb2 = aaa2.copyWithin(0, 1, 3)
console.log(bbb2) //[2,3,3,4,5]

5、find()

在原数组中找到第一个符合条件的数组成员

第一参数是回调函数,第二个参数用来绑定回调函数的<font style="color:rgb(71, 101, 130);">this</font>对象

var student = {name: "zhangsan",age: 30
}function f(v) {return v > this.age;
}var arr = [10, 20, 30, 40, 50]
var need = arr.find(function (v) { return v > this.age }, student)
var need2 = arr.find(v => v > 30, student)
console.log(need) // 40
console.log(need2) // underfind  箭头函数中无this指向

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

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

相关文章

MATLAB基础应用精讲-【数模应用】平均绝对误差损失 Mean Absolute Error Loss(附python、R语言和MATLAB代码实现)

目录 前言 几个高频面试题目 RMSE与MAE对比 平均绝对误差和均方误差(L1&L2)比较 MAE与MSE的性质对比 2.1 敏感度 2.2 单位与解释 2.3 数学特性 优缺点分析 3.1 MAE的优缺点 3.2 MSE的优缺点 应用场景 4.1 MAE的应用 4.2 MSE的应用 均方根误差和平均绝对误差的…

SQL Server身份验证模式

SQL Server是一个广泛使用的关系数据库管理系统&#xff0c;通常使用两种身份验证模式&#xff1a;Windows身份验证和SQL Server身份验证。理解这些身份验证方式的概念与更改方式的操作&#xff0c;对于数据库管理员和开发者至关重要。本文将详细介绍身份验证方式的概念以及如何…

基于Spring Boot的信息学科平台系统开发指南

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理基于保密信息学科平台系统的相关信息成为必…

ArcGIS005:ArcMap常用操作101-150例动图演示

摘要&#xff1a;本文涵盖了GIS软件操作的多方面内容&#xff0c;包括地图文档的新建、打开、保存及版本兼容性处理&#xff1b;错误与警告的查阅及帮助文档的使用技巧&#xff1b;地图打印比例尺的调整与地图信息的完善&#xff1b;图层操作的撤销与恢复&#xff0c;界面元素的…

从零开始的c++之旅——继承

1. 继承 1.继承概念及定义 继承是面向对象编程的三大特点之一&#xff0c;它使得我们可以在原有类特性的基础之上&#xff0c;增加方法 和属性&#xff0c;这样产生的新的类&#xff0c;称为派生类。 继承 呈现了⾯向对象程序设计的层次结构&#xff0c;以前我们接触的…

【学习】软件测试中V模型、W模型、螺旋模型三者介绍

在软件工程的星辰大海之中&#xff0c;存在着三种独特的航路图&#xff1a;V模型、W模型以及螺旋模型。它们分别以各自的方式描绘了软件开发与测试的不同旅程。 首先映入眼帘的是V模型——一个以垂直线条贯穿始终的简洁图形。这个模型如同一座倒立的“V”字形山峰&#xff0c;…

SpringMVC笔记 一万字

此笔记来自于B站尚硅谷 文章目录 一、SpringMVC 简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点 二、HelloWorld1、开发环境2、创建maven工程a>添加web模块b>打包方式&#xff1a;warc>引入依赖 3、配置web.xmla>默认配置方式b>扩展配置方式 4、创建请求…

Redis 分布式锁:原理、实现及最佳实践

随着现代互联网应用的不断发展&#xff0c;系统架构从单体应用逐步演变为分布式系统。为了保证分布式系统中的资源不被多个节点同时访问&#xff0c;确保数据的一致性和系统的稳定性&#xff0c;分布式锁的应用变得尤为重要。Redis 作为一个高性能的内存数据库&#xff0c;凭借…

【快速上手】pyspark 集群环境下的搭建(Standalone模式)

目录 前言 &#xff1a; 一、spark运行的五种模式 二、 安装步骤 安装前准备 1.第一步&#xff1a;安装python 2.第二步&#xff1a;在bigdata01上安装spark 3.第三步&#xff1a;同步bigdata01中的spark到bigdata02和03上 三、集群启动/关闭 四、打开监控界面验证 前…

Cloud Native Spring in Action

目录 设计原则 15 Factor App 数据验证和错误处理 测试 使用 Junit 5 进行单元测试 使用 SpringBootTest 进行集成测试 使用 WebMvcTest 测试 REST Controller 使用 JsonTest 测试 JSON 序列化 使用 DataJdbcTest 和 Testcontainers 测试数据持久化 使用 Reactor 和 …

三周精通FastAPI:31 使用 StaticFiles从目录中自动提供静态文件

官方文档&#xff1a;静态文件 - FastAPI 静态文件 您可以使用 StaticFiles从目录中自动提供静态文件。 使用StaticFiles 导入StaticFiles。"挂载"(Mount) 一个 StaticFiles() 实例到一个指定路径。 from fastapi import FastAPI from fastapi.staticfiles impo…

【双目视觉标定】——1原理与实践

0 前言 双目视觉定位是目前机器&#xff08;机器人&#xff09;等领域中使用得非常广泛的视觉定位技术&#xff0c;双目视觉是模拟人的视觉系统利用两个不同位置的摄像头的视差来确定物体的位置。由于有需要采集两个摄像头的图像共同参与计算&#xff0c;所以双目相机装配要求…

【最佳牛围栏——二分】

题目 思路 扩大数据&#xff0c;避免精度问题&#xff0c;拉到整数域解决不用枚举前缀和的 l 和 r&#xff0c;改为求可能 l 的最小值&#xff0c;线性做法不用记录长度来求平均值&#xff0c;改为用平均值处理数据&#xff08;这是第二条的前提&#xff09;&#xff0c;直接通…

[java][高级]MyBatisPlus

一、MyBatisPlus简介 1. 入门案例 问题导入 MyBatisPlus环境搭建的步骤&#xff1f; 1.1 SpringBoot整合MyBatisPlus入门程序 ①&#xff1a;创建新模块&#xff0c;选择Spring初始化&#xff0c;并配置模块相关基础信息 ②&#xff1a;选择当前模块需要使用的技术集&…

Shutdown Abort 强制关库,真的有可能起不来?

全文目录&#xff1a; 开篇语前言 &#x1f31f;目录 &#x1f4cb;1. 什么是 Shutdown Abort&#xff1f; &#x1f4a1;工作原理 &#x1f527; 2. Shutdown Abort 的潜在风险 ⚠️3. 真实案例分析 &#x1f4ca;案例背景 &#x1f310;分析与反思 &#x1f50d; 4. 如何降低…

win10/11无休眠设置和断电后电池模式自动休眠而不是睡眠-用以省电

1、打开休眠设置选项 打开控制面板\所有控制面板项\电源选项\ 左侧的选择电源按钮的功能 默认状态没有休眠 1、管理员权限打开cmd或者power shell 2、输入一下指令&#xff0c;打开休眠选项 powercfg -hibernate on关闭后重新打开 控制面板\所有控制面板项\电源选项\左侧的选…

PyQt5实战——多脚本集合包,UI以及工程布局(二)

个人博客&#xff1a;苏三有春的博客 系列往期&#xff1a; PyQt5实战——多脚本集合包&#xff0c;前言与环境配置&#xff08;一&#xff09; 布局 2.1 UI页面布局 整体框架分为分为三个部分&#xff0c;垂直分布。 第一个部分为功能选择按钮&#xff08;如UTF-8转换&#…

Linux驱动开发(3):字符设备驱动

上一章节我们了解到什么是内核模块&#xff0c;模块的加载卸载详细过程以及内核模块的使用等内容。 本章&#xff0c;我们将学习驱动相关的概念&#xff0c;理解字符设备驱动程序的基本框架&#xff0c;并从源码上分析字符设备驱动实现和管理。 主要内容有如下五点&#xff1a;…

中国逐年最大NDVI数据集(250m)

最大NDVI数据集是指通过遥感技术获取的归一化植被指数&#xff08;NDVI&#xff09;数据&#xff0c;这些数据反映了地表植被覆盖的密集程度。NDVI的数值范围通常为-1到1&#xff0c;其中-1表示完全被水覆盖&#xff0c;0表示有岩石或裸土等非植被覆盖&#xff0c;而1表示植被完…

【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法

【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法 【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法 文章目录 【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和…