首页 > 其他分享 >数组属性和方法

数组属性和方法

时间:2023-12-20 21:11:06浏览次数:33  
标签:返回 arr 数组 元素 arr1 Array 方法 属性

什么叫数组?
在 JavaScript 中,数组不是基本类型,而是具有以下核心特征的 Array 对象:

JavaScript 数组是可调整大小的,并且可以包含不同的数据类型。(当不需要这些特征时,可以使用类型化数组。)
JavaScript 数组不是关联数组,因此,不能使用任意字符串作为索引访问数组元素,但必须使用非负整数(或它们各自的字符串形式)作为索引访问。
JavaScript 数组的索引从 0 开始:数组的第一个元素在索引 0 处,第二个在索引 1 处,以此类推,最后一个元素是数组的 length 属性减去 1 的值。
JavaScript 数组复制操作创建浅拷贝。(所有 JavaScript 对象的标准内置复制操作都会创建浅拷贝,而不是深拷贝)。

声明(创建数组的方式)?
new Array()

属性?
length 设置或返回数组元素的个数。
prototype 允许你向数组对象添加属性或方法
constructor 返回创建数组对象的原型函数。

 

 

常用方法
Array.of()   创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型
Array.from()   类数组(概念?)转为数组
Array.find()   查询元素,返回数组中第一个通过测试的元素的值
Array.findIndex()   查询下标,方法返回数组中通过测试的第一个元素的索引
Array.indexOf()   返回某个指定的字符串值在字符串中首次出现的位置
Array.lastIndexOf()   返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索
Array.includes()   用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false

数组的复制填充方法
Array.copyWithin(target,start,end) 复制数组的一部分到该数组的其它位置,该方法会改变数组的内容,但是不会改变数组的长度
Array.fill(target,start,end)

1.当只有target参数时,会将从0索引开始复制,然后从当前位置粘贴序列

let arr1 = [1,2,3,4,5,6,7,8,9,10];
arr1.copyWithin(3);
console.log(arr1);
// 输出[1, 2, 3, 1, 2, 3, 4, 5, 6, 7]

2.当复制的序列在粘贴时超出了数组的长度,将会自动裁剪

let arr1 = [1,2,3,4,5,6,7,8,9,10];
arr1.copyWithin(20);
console.log(arr1);
// 输出[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

3.当target参数是一个负数的时候,会以target的绝对值为索引复制之前的序列,然后从末尾粘贴

let arr1 = [1,2,3,4,5,6,7,8,9,10];
arr1.copyWithin(-3);
console.log(arr1);
// 输出[1, 2, 3, 4, 5, 6, 7, 1, 2, 3]

 

参数start和参数end

start参数表示要复制元素的起点,以0为索引基点,如果没有start参数,copyWithin将会默认从0开始复制。
end参数表示要复制元素的终点,以0为索引基点,且当前如果没有end参数,copyWithin将会一直复制到数组的末尾。

let arr1 = [1,2,3,4,5,6,7,8,9,10];
arr1.copyWithin(3,4,7);
console.log(arr1);
// 输出[1, 2, 3, 5, 6, 7, 7, 8, 9, 10]

 

Array.push() 添加元素
Array.pop():删除并返回数组的最后一个元素
Array.push():向数组的结尾添加元素
Array.shift():将元素移除数组
Array.unshift():向数组头部添加元素
Array.join():将数组元素连接起来以构成一个字符串
Array.concat():连接数组
Array.reverse():将数组进行反转
Array.sort():将数组进行排序
Array.slice():返回数组的一部分
Array.splice():插入,删除或替换数组中的元素
Array.toString():将数组转换为一个字符串

 

Array.map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
Array.forEach():对数组中的每一项运行给定函数,这个方法没有返回值

 

Array.filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
Array.some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true
Array.every():对数组中的每一项运行给定函数,如果该函数对每一项都返回ture,则返回true
Array.isArray():判断是否是数组

 

数组去重 以及数组对象如何去重?

 

//1-方法
            
            var arr = [1,8,9,1,2,3,6,5,5,4,7,7,2]
            
            arr1 = []
            for(var i = 0;i<arr.length;i++){
                if(arr1.indexOf(arr[i])=== -1){
                    arr1.push(arr[i])
                }
                console.log(arr1)
            }

 

 

 

数组排序

 

var arr = [4,3,2,1];
            
            for(m = 0;m<arr.length;m++){
            for(var i =0;i<arr.length-1;i++){
                if (arr[i] > arr[i+1]){
                    var temp = arr[i]
                    temp2 = arr[i+1]
                    arr[i+1] = temp
                    arr[i] = temp2
                }
                
            }
            console.log(arr);
            }

 

标签:返回,arr,数组,元素,arr1,Array,方法,属性
From: https://www.cnblogs.com/dutianyu/p/17917593.html

相关文章

  • 560. 和为 K 的子数组
    给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。子数组是数组中元素的连续非空序列。 示例1:输入:nums=[1,1,1],k=2输出:2示例2:输入:nums=[1,2,3],k=3输出:2 提示:1<=nums.length<=2*104-1000<=nu......
  • C题目分析:PTA二维数组中每行最大值和每行和
    *首先记住以下:算法框架从内到外。明确改变的条件。明确如何改变。明确导向结果。一。分析流程:输入——组成数组——输出数组和最大值二。细化:S1输入的格式:一行输入,中间空格,最后一格无空格。S2组成数组:运用二维数组,其中前四个数中间有三个空格,且第一个数前有三个空格,第四和五个数中......
  • java深拷贝的几种方法
    使用序列化和反序列化:将集合对象序列化为字节流,然后再反序列化成一个新的对象。这种方式需要确保集合中的所有元素都是可序列化的。importjava.io.*;publicstaticsource){try{ByteArrayOutputStreambyteOut=newByteArrayOutputStream();ObjectOutputStreamout=new......
  • js 数组的42种方法
    本文列举了数组的42个方法欢迎关注前端早茶,与广东靓仔携手共同进阶~前端早茶专注前端,一起结伴同行,紧跟业界发展步伐~公众号一、前言数组在js中作为一个非常重要的类型之一,在我们对数据处理,存储数据,条件渲染的时候经常会用到,所以随着ES的不断更新,数组的方法也......
  • FastAPI 中设置定时任务的方法:从入门到精通
    Web应用程序开发中,及时高效处理常规任务至关重要,包括定时收集数据或管理任务计划。针对强大且性能卓越的 FastAPI 框架,我们可以通过几种策略来管理这些必要的定时任务。实现FastAPI中的定时任务本指南将探讨在FastAPI环境中管理定时任务的三种实用方法:使用APScheduler,利用......
  • 2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组。 两个子数
    2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组。两个子数组的累加和都要是T,返回所有满足情况中,两个子数组长度之和最小是多少?如果没有有效方法,返回-1。正式:2<=n<=10^60<=arr[i]<=100001<=T<=10^8扩展:2<=n<=10^6-10000<=arr[i]<=1......
  • 2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组。 两个子数
    2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组。两个子数组的累加和都要是T,返回所有满足情况中,两个子数组长度之和最小是多少?如果没有有效方法,返回-1。正式:2<=n<=10^60<=arr[i]<=100001<=T<=10^8扩展:2<=n<=10^6-10000<=a......
  • 智能监测/检测系统/摄像头监控系统EasyCVR大华云台控制问题的解决方法
    GB28181视频集中存储/云存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。AI智能大数据视频分析EasyCVR平台已经广泛应用在工地、工厂、园区、楼宇、校园、仓储等场景......
  • 【Python&目标识别】Yolo v5-7.0版本中文标签显示方法(附字体链接)
    ​    Yolo的程序之前已经定制化输出过了,但是最近业主突然想要中文的标签,所以赶紧去修改了一下源代码,从网上发现很多资料都改这改那,搞四五个文件结果还没成功。所以自己研究了一下,现在已经完美解决了。今天就和大家分享一下Yolov5-7.0版本的目标识别如何添加中文的标签......
  • el-upload组件报TypeError: Cannot create property ‘uid‘ on string错误解决方法
      今天发现使用el-upload上传文件,上传没有问题,点详情看文件时就会报一个错误,错误如下:TypeError:Cannotcreateproperty‘uid’onstring‘https://xxxx.com/upload/20230506/1683346602758.png’ 上传多张图片传值是['/service/soilTesting',/service/soilTest......