位置: IT常识 - 正文

JS数组常用的操作方法(js中数组操作)

编辑:rootadmin
JS数组常用的操作方法 1. push() 将一个或多个元素添加到数组的末尾,并返回该数组的新长度。此方法修改原有数组。var arr = ['a','b','c'];var ele = arr.push('d');// ele结果为: 4;// arr数组被修改: ['a','b','c','d'];2. pop(),从数组中删除最后一个元素,并返回该元素的值。如果数组为空,则返回undefined。此方法修改原有数组。var arr = ['a','b','c','d'];var ele = arr.pop();// ele结果为: 'd';// arr数组被修改: ['a','b','c'];3. shift(),从数组中删除第一个元素,并返回该元素的值。此方法修改原有数组。var arr = ['a','b','c','d'];var ele = arr.shift();// ele结果为: a;// arr数组被修改: ['b''c','d'];4. unshift(),将一个或多个元素添加到数组的开头,并返回该数组的新长度。此方法修改原有数组。var arr = ['a','b','c'];var ele = arr.unshift('d');// ele结果为: 4;// arr数组被修改: ['d','a','b','c'];5. slice(begin?,end?),返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。

推荐整理分享JS数组常用的操作方法(js中数组操作),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js数组some every,js数组entries,js操作数组有哪些方法,分别有什么用,js数组的应用,js数组常用的操作有哪些,js数组常用的操作有哪些,js数组常用操作,js数组常用的操作方法有,内容如对您有帮助,希望把文章链接给更多的朋友!

begin 可选 提取起始处的索引(从0开始),从该索引开始提取原数组元素 如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。 如果省略 begin,则 slice 从索引 0 开始。 如果 begin 超出原数组的索引范围,则会返回空数组。

end 可选 提取终止处的索引(从 0 开始),在该索引处结束提取原数组元素。slice 会提取原数组中索引从 begin 到 end 的所有元素(包含 begin,但不包含 end)。 slice(1,4) 会提取原数组中从第二个元素开始一直到第四个元素的所有元素 (索引为 1, 2, 3的元素)。 如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。 如果 end 被省略,则 slice 会一直提取到原数组末尾。 如果 end 大于数组的长度,slice 也会一直提取到原数组末尾。

var arr = ['a','b','c','d'];var res = arr.slice(0,2);// arr数组未被修改: ['a', 'b', 'c', 'd'];// res数组为: ['a', 'b'];6. splice(start,deleteCount?,item1?) ,通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容(如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组)。此方法修改原数组。

start: 指定修改的开始位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从-1计数,这意味着-n是倒数第n个元素并且等价于array.length-n);如果负数的绝对值大于数组的长度,则表示开始位置为第0位。

JS数组常用的操作方法(js中数组操作)

deleteCount (可选): 整数,表示要移除的数组元素的个数。 如果 deleteCount 大于 start 之后的元素的总数,则从 start 后面的元素都将被删除(含第 start 位)。 如果 deleteCount 被省略了,或者它的值大于等于array.length - start(也就是说,如果它大于或者等于start之后的所有元素的数量),那么start之后数组的所有元素都会被删除。 如果 deleteCount 是 0 或者负数,则不移除元素。这种情况下,至少应添加一个新元素。

item1, item2, … (可选): 要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素。

var arr = ['a', 'b', 'c', 'd'];// 从索引 2 的位置开始删除 0 个元素,插入"e"var insertOnce = arr.splice(2,0,'e');insertOnce = []arr = ['a', 'b', 'e', 'c', 'd']// 从索引3的位置开始删除一个元素var delOnce = arr.splice(3,1);// delOnce数组为: ['c']// arr数组被修改: ['a', 'b', 'e', 'd']7. concat(),于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。var arr1 = ['a', 'b', 'c', 'd'];var arr2 = ['e','f']var arr3 = arr1.concat(arr2);// arr3数组为: ['a', 'b', 'c', 'd','e','f']8. join(),将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符(默认使用’,'分隔,如果使用"",则所有元素之间都没有任何字符)。var arr = ['a','b','c','d'];var str = arr.join("-")// str结果为: "a-b-c-d"9. sort(),对数组的元素进行排序。此方法修改原数组。var arr = [1,5,2,4,3]arr.sort()// arr数组被修改: [1,2,3,4,5]10. reverse(),将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法修改原数组。var arr = [1,2,3,4,5];arr.reverse();// arr数组被修改: [5,4,3,2,1]11. forEach(function(currentValue,index?,array?),thisValue?),对数组的每个元素执行一次给定的函数。

currentValue 必选 当前元素的值

index 可选 当前元素的索引值

array 可选 当前元素属于的数组对象

thisValue 可选 执行callback函数时值被用作 this。如果省略或传入null,undefined那么callback函数的this为全局对象

function logArrayElements(element, index, array) { console.log('a[' + index + '] = ' + element);}// 注意索引 2 被跳过了,因为在数组的这个位置没有项[2, 5, , 9].forEach(logArrayElements);// logs:// a[0] = 2// a[1] = 5// a[3] = 912. map(function(currentValue,index?,array?),thisValue?),创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。// 使用 map 重新格式化数组中的对象var kvArray = [{key: 1, value: 10}, {key: 2, value: 20}, {key: 3, value: 30}];var reformattedArray = kvArray.map(function(obj) { var rObj = {}; rObj[obj.key] = obj.value; return rObj;});// reformattedArray 数组为: [{1: 10}, {2: 20}, {3: 30}],// kvArray 数组未被修改:// [{key: 1, value: 10},// {key: 2, value: 20},// {key: 3, value: 30}]13. filter(function(currentValue,index,arr), thisValue),创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。// 筛选出字符串数组中长度大于6的字符串const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];const result = words.filter(word => word.length > 6);console.log(result);// log: ["exuberant", "destruction", "present"]14. every(function(currentValue,index,arr), thisValue),测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值(若收到一个空数组,此方法在一切情况下都会返回 true)。// 检查是否数组中的所有数字都小于40const isBelowThreshold = (currentValue) => currentValue < 40;const array1 = [1, 30, 39, 29, 10, 13];console.log(array1.every(isBelowThreshold));// log: true15. some(function(currentValue,index,arr), thisValue),测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值(如果用一个空数组进行测试,在任何情况下它返回的都是false)。// 检测数组中是否至少有一个数字大于 18:var ages = [3, 10, 18, 20];function checkAdult(age) { return age >= 18;}function myFunction() { document.getElementById("demo").innerHTML = ages.some(checkAdult);}16. find(function(currentValue,index,arr), thisValue),返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。// 获取数组中第一个大于10的值const array1 = [5, 12, 8, 130, 44];const found = array1.find(element => element > 10);console.log(found);// expected output: 1217. flat(depth?),按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。此方法不会改变原数组。

depth 可选 指定要提取嵌套数组的结构深度,默认值为 1。

const arr1 = [0, 1, 2, [3, 4]];console.log(arr1.flat());// log: [0, 1, 2, 3, 4]const arr2 = [0, 1, 2, [[[3, 4]]]];console.log(arr2.flat(2));// log: [0, 1, 2, [3, 4]]
本文链接地址:https://www.jiuchutong.com/zhishi/300336.html 转载请保留说明!

上一篇:《推荐PlumGPT:一款优秀的聊天机器人》(《推荐一个好地方》图书馆)

下一篇:〖大前端 - 基础入门三大核心之CSS篇⑱〗- CSS中的背景(大前端最新)

  • 电脑桌面图标隐藏后怎么恢复(电脑桌面图标隐藏快捷键)

    电脑桌面图标隐藏后怎么恢复(电脑桌面图标隐藏快捷键)

  • 苹果录屏怎么把自己说话的声音录进去(苹果录屏怎么把声音去掉)

    苹果录屏怎么把自己说话的声音录进去(苹果录屏怎么把声音去掉)

  • 苹果11语音唤醒功能在哪里(苹果11语音唤醒功能在哪里打开)

    苹果11语音唤醒功能在哪里(苹果11语音唤醒功能在哪里打开)

  • 荣耀30青春版指纹解锁在哪里(荣耀30青春版指纹解锁在哪)

    荣耀30青春版指纹解锁在哪里(荣耀30青春版指纹解锁在哪)

  • 小米6不识别sim卡打不开wifi(小米6不能识别sim)

    小米6不识别sim卡打不开wifi(小米6不能识别sim)

  • 微信清除聊天记录后如何恢复(微信清除聊天记录别人登能看到吗)

    微信清除聊天记录后如何恢复(微信清除聊天记录别人登能看到吗)

  • airpods怎么看左右电量(airpods怎么看左耳和右耳是不是一套的)

    airpods怎么看左右电量(airpods怎么看左耳和右耳是不是一套的)

  • m1806d9pe是小米平板几(小米m1806d9e是什么型号)

    m1806d9pe是小米平板几(小米m1806d9e是什么型号)

  • ipad腾讯会议没有屏幕共享(iPad腾讯会议没有共享屏幕)

    ipad腾讯会议没有屏幕共享(iPad腾讯会议没有共享屏幕)

  • 6splus的屏幕刷新率是多少(iphone6sp屏幕刷新率)

    6splus的屏幕刷新率是多少(iphone6sp屏幕刷新率)

  • iphonex通话声音自己听到的特别小(iphonex讲电话声音小)

    iphonex通话声音自己听到的特别小(iphonex讲电话声音小)

  • 手机广角拍摄什么意思(手机广角拍摄什么好)

    手机广角拍摄什么意思(手机广角拍摄什么好)

  • iphone7p有没有原彩显示(iphone7p有没有原彩)

    iphone7p有没有原彩显示(iphone7p有没有原彩)

  • 苹果手机怎么设置密码锁屏(苹果手机怎么设置门禁卡NFC)

    苹果手机怎么设置密码锁屏(苹果手机怎么设置门禁卡NFC)

  • 剪映为什么不能识别字幕(剪映为什么不能文本朗读)

    剪映为什么不能识别字幕(剪映为什么不能文本朗读)

  • 单反相机如何开机(单反相机如何开始拍照)

    单反相机如何开机(单反相机如何开始拍照)

  • 手机逆光拍照怎样设置(手机逆光拍照怎么关闭)

    手机逆光拍照怎样设置(手机逆光拍照怎么关闭)

  • 手机为什么充不进去电(手机为什么充不上电?怎么解决?华为)

    手机为什么充不进去电(手机为什么充不上电?怎么解决?华为)

  • 快手黄钻有什么用处(快手黄钻有什么用)

    快手黄钻有什么用处(快手黄钻有什么用)

  • 怎么使用Windows截图工具(怎么使用windows制表)

    怎么使用Windows截图工具(怎么使用windows制表)

  • 电话嘟很久显示用户忙(电话嘟很久显示无人接听为啥)

    电话嘟很久显示用户忙(电话嘟很久显示无人接听为啥)

  • 汽车风扇不转还能开吗(汽车风扇不转还能短时间行驶吗)

    汽车风扇不转还能开吗(汽车风扇不转还能短时间行驶吗)

  • 笔记本连接投影仪没有声音(笔记本连接投影仪不显示电脑画面)

    笔记本连接投影仪没有声音(笔记本连接投影仪不显示电脑画面)

  • hypertrm.exe进程是什么文件 有什么作用 hypertrm进程查询(hypertrm.exe系统错误)

    hypertrm.exe进程是什么文件 有什么作用 hypertrm进程查询(hypertrm.exe系统错误)

  • web前端文件上传可选择的4种方式(前端 上传文件)

    web前端文件上传可选择的4种方式(前端 上传文件)

  • 冬日里的科赫尔湖,德国巴伐利亚州 (© Reinhard Schmid/eStock Photo)

    冬日里的科赫尔湖,德国巴伐利亚州 (© Reinhard Schmid/eStock Photo)

  • 城镇土地使用税的计税依据
  • 回购股票为什么股价下跌
  • 通货膨胀有什么危害?
  • 个体户超过定额怎么纳税申报
  • 年报后 申报报表年初数会调整吗
  • 个税计提和发放分录
  • 小规模缴纳增值税税控系统可以抵扣么
  • 融资性售后回租是什么服务
  • 生产型增值税转变为消费型增值税
  • 应付账款扣款怎么做账
  • 专票入账用哪一联
  • 运输公司租入的车辆如何核算
  • 如何查询分公司开户行
  • 单位车辆卖给个人怎么开票
  • 企业税收风险有哪些方面
  • 企业为职工负担的个人所得税是什么意思
  • 对方已认证的发票在哪里
  • 回迁安置房拆一次多少钱
  • 股东收回投资款的现金流量
  • 贸易公司买进卖出
  • 英雄联盟电脑软件图片
  • win10怎么手动修改时间
  • 什么是冻结账户的情形
  • 当月交当月社保费会计分录
  • 天然气 初装费
  • 爱荷华州的首府
  • vue 大屏可视化设计 开源
  • 纳税人解除劳动合同证明
  • ThinkPHP中html:list标签用法分析
  • 上月未结账本月不能操作任何业务
  • 商业汇票的承兑银行必须具备下列条件
  • php面向对象的三大特性
  • 应付职工薪酬负数风险
  • php如何实现自动加载
  • 社保基数跟个税差1仟多有风险吗
  • php 遍历字符串
  • 你知道怎么训练
  • 【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战(附代码+数据集+原理介绍)
  • php文件上传技术
  • 红包生成算法
  • php中命名空间的路径
  • 库存亏损要缴纳增值税吗
  • 织梦自适应代码怎么做
  • 公司支付宝收款码怎么支持信用卡
  • mssql备份数据库
  • 其他应收款审计说明怎么写
  • 职工食堂费列入哪里
  • 个人向公司借款怎么写
  • 会计学营业利润
  • 转出未交增值税会计账务处理
  • 契税是房价乘以1.5吗
  • 买入返售金融资产属于金融资产吗
  • 变更法人流程和资料
  • 发工资扣的个人社保计入哪个科目
  • 二手车融资租赁被骗怎么投诉
  • 免抵退退税额
  • 错开发票所需要提供的资料以及时效要求是?
  • 不开票收据可以盖章吗
  • 会计账簿的作用之一是编报和输出会计信息
  • 建账要求
  • win8 联网
  • 什么是suv汽车
  • mac的itunes怎么用
  • linux中使用grep命令显示包含特殊字符的行
  • nomoreporn.exe - nomoreporn是什么进程 有什么用
  • linux怎么在桌面创建文件
  • qt搭建opencv
  • node.js读取文件的三种方式
  • final exam是什么意思
  • 简述jQuery ajax的执行顺序
  • android 图表控件
  • cocos引擎教程
  • JavaScript冒泡排序都不会写
  • 惠州市国家税务局稽查局局长
  • 安康市税务局党玲玲
  • 南昌 税务局
  • 作为税务人员哪些基本素质
  • 山东增值税普通发票查询
  • 湖南什么时候实行电子驾驶证
  • 地税应急管理办法最新
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设