最新要闻
- 世界要闻:全球出行需求爆棚:飞机制造巨头订单积压1.27万架 飞机远远不够用
- 焦点快播:三星推出43寸奥德赛Neo G7显示器:Mini-LED屏幕、支持144Hz高刷
- 最令人期待的2023新片
- 报道:2022年跨年档预售票房破1000万:《阿凡达2》仅位居第二
- 今年好莱坞最赔钱电影出炉:赔惨了
- 【全球速看料】进口游戏版号时隔548天再发放!数量逐年下降
- 天天实时:2022年iPhone 14系列出货量下调 明年越南将加入生产
- 一加11打破安卓不可能!员工自己都不敢相信
- 全球要闻:兔年邮票“蓝兔子”引争议 真是童年阴影?邮政回应:没人投诉
- 一次多重体验:杰士邦三合一安全套30只19.9元发车
- 【全球报资讯】基于NT架构脱胎换骨!QQ for Linux 3.0正式版上架官网
- 环球实时:卡梅隆自曝《阿凡达2》10分钟删减镜头:动作暴力元素相关
- 每日焦点!老外评选2022年10款最佳RPG游戏:老头环等上榜
- 无人驾驶可达80km/h:深圳坪山云巴1号线正式通车
- 【全球聚看点】还买啥Zen4 酷睿i7-12700KF到手2149元:12核5GHz游戏神U
- 环球今热点:网友吃火锅被反向抹零多收0.3元 店家:四舍五入系统设定
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
环球快看点丨分享20个Javascript中的数组方法,收藏
什么是数组?与其他编程语言中的数组一样,Array对象允许在一个变量名称下存储多个项的集合,并且具有用于执行常见数组操作的成员。
声明数组
我们可以用两种不同的方式声明数组。
(相关资料图)
使用新阵列
使用new Array,我们可以指定希望存在于数组中的元素,如下所示:
const fruits = new Array("Apple", "Banana");console.log(fruits.length);
数组文字表示法
使用数组文本声明,我们指定数组将具有的值。如果我们不声明任何值,数组将为空。
// "fruits" array created using array literal notation.const fruits = ["Apple", "Banana"];console.log(fruits.length);
Javascript数组方法
下面是Array对象的方法列表及其说明。
1.forEach
forEach()方法为每个数组元素执行一次提供的函数。
array.forEach(callback[, thisObject]);
forEach()按索引升序为数组中的每个元素调用一次提供的callbackFn函数。对于已删除或未初始化的索引属性,不会调用它。
const array1 = ["a", "b", "c"];array1.forEach(element => console.log(element));// expected output: "a"// expected output: "b"// expected output: "c"
2.map
该Array.map()方法允许您循环访问数组并使用回调函数修改其元素。然后将对数组的每个元素执行回调函数。
array.map(callback[, thisObject]);
let arr = [3, 4, 5, 6];let modifiedArr = arr.map(function(element){ return element *3;});console.log(modifiedArr); // [9, 12, 15, 18]
该Array.map()方法通常用于对元素应用某些更改,无论是像上面的代码中那样乘以特定的数字,还是执行应用程序可能需要的任何其他操作。
3.concat
在JavaScript中,concat()是一个字符串方法,用于将字符串连接在一起。concat()方法将一个或多个字符串值附加到调用字符串,然后将连接结果作为新字符串返回。因为concat()方法是String对象的方法,所以必须通过String类的特定实例调用它。
array.concat(value1, value2, ..., valueN);
const array1 = ["a", "b", "c"];const array2 = ["d", "e", "f"];const array3 = array1.concat(array2);console.log(array3);// expected output: Array ["a", "b", "c", "d", "e", "f"]
4.push
Javascript数组push()方法将给定的元素追加到数组的最后,并返回新数组的长度。当您想在数组末尾添加元素时,请使用push()。
array.push(element1, ..., elementN);
const countries = ["Nigeria", "Ghana", "Rwanda"];countries.push("Kenya");console.log(countries); // ["Nigeria","Ghana","Rwanda","Kenya"]
5.pop
pop()方法从数组中移除最后一个元素,并将该值返回给调用方。如果对空数组调用pop(),它将返回undefined。
Array.prototype.shift()的行为与pop()类似,但应用于数组中的第一个元素。
array.pop();
const plants = ["broccoli", "cauliflower", "cabbage", "kale", "tomato"];console.log(plants.pop());// expected output: "tomato"console.log(plants);// expected output: Array ["broccoli", "cauliflower", "cabbage", "kale"]
6.splice
splice()方法是一种通用方法,用于通过在数组的指定位置删除、替换或添加元素来更改数组的内容。本节将介绍如何使用此方法将元素添加到特定位置。
array.splice(index, howMany, [element1][, ..., elementN]);
const fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.splice(2, 0, "Lemon", "Kiwi"); //Banana,Orange,Lemon,Kiwi,Apple,Mango
7.slice
slice()方法将数组的一部分的浅副本返回到从头到尾(不包括end)选择的新数组对象中,其中start和end表示该数组中项的索引。原始阵列不会被修改。
array.slice( begin [,end] );
const animals = ["ant", "bison", "camel", "duck", "elephant"];console.log(animals.slice(2));// expected output: Array ["camel", "duck", "elephant"]console.log(animals.slice(2, 4));// expected output: Array ["camel", "duck"]
8.shift
shift()是一个内置的JavaScript函数,用于从数组中删除第一个元素。shift()函数直接修改您正在使用的JavaScript数组。shift()返回从数组中移除的项。
函数的作用是:删除索引位置0处的项,并将未来索引号处的值下移一位。
array.shift();
const array1 = [1, 2, 3];const firstElement = array1.shift();console.log(array1);// expected output: Array [2, 3]console.log(firstElement);// expected output: 1
9.unshift
unshift()方法将给定值插入到类似数组的对象的开头。
push()的行为与unshift()类似,但应用于数组的末尾。
array.unshift( element1, ..., elementN );
const array1 = [1, 2, 3];console.log(array1.unshift(4, 5));// expected output: 5console.log(array1);// expected output: Array [4, 5, 1, 2, 3]
10.join
JavaScript数组join()是一个内置方法,它通过连接数组的所有元素来创建并返回新字符串。join()方法将数组中的项连接到字符串中并返回该字符串。指定的分隔符将分隔元素数组。默认分隔符为逗号(,)。
array.join(separator);
const elements = ["Fire", "Air", "Water"];console.log(elements.join());// expected output: "Fire,Air,Water"console.log(elements.join(""));// expected output: "FireAirWater"console.log(elements.join("-"));// expected output: "Fire-Air-Water"
11.every
every()方法测试数组中的所有元素是否通过所提供函数实现的测试。它返回一个布尔值。
array.every(callback[, thisObject]);
const isBelowThreshold = (currentValue) => currentValue < 40;const array1 = [1, 30, 39, 29, 10, 13];console.log(array1.every(isBelowThreshold));// expected output: true
12.filter
filter()方法创建给定数组的一部分的浅副本,过滤掉给定数组中通过所提供函数实现的测试的元素。
array.filter(callback[, thisObject]);
const words = ["spray", "limit", "elite", "exuberant", "destruction", "present"];const result = words.filter(word => word.length > 6);console.log(result);// expected output: Array ["exuberant", "destruction", "present"]
13.indexOf
indexOf()方法返回给定元素在数组中的第一个索引,如果不存在,则返回-1。
array.indexOf(searchElement[, fromIndex]);
const beasts = ["ant", "bison", "camel", "duck", "bison"];console.log(beasts.indexOf("bison"));// expected output: 1// start from index 2console.log(beasts.indexOf("bison", 2));// expected output: 4console.log(beasts.indexOf("giraffe"));// expected output: -1
14.reduce
reduce()方法对数组的每个元素执行用户提供的“reducer”回调函数,依次传入前一个元素计算的返回值。在数组的所有元素上运行reducer的最终结果是单个值。
array.reduce(callback[, initialValue]);
const array1 = [1, 2, 3, 4];// 0 + 1 + 2 + 3 + 4const initialValue = 0;const sumWithInitial = array1.reduce( (previousValue, currentValue) => previousValue + currentValue, initialValue);console.log(sumWithInitial)
15.reverse
reverse()方法在原处反转数组并返回对同一数组的引用,第一个数组元素现在变为最后一个,最后一个数组元素变为第一个。换句话说,阵列中的元素顺序将转向与前述相反的方向。
array.reverse();
const array1 = ["one", "two", "three"];console.log("array1:", array1);// expected output: "array1:" Array ["one", "two", "three"]const reversed = array1.reverse();console.log("reversed:", reversed);// expected output: "reversed:" Array ["three", "two", "one"]// Careful: reverse is destructive -- it changes the original array.console.log("array1:", array1);// expected output: "array1:" Array ["three", "two", "one"]
16.sort
sort()方法对数组中的元素进行排序,并返回对已排序的同一数组的引用。默认的排序顺序是升序,它是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列的基础上构建的。
array.sort( compareFunction );
const months = ["March", "Jan", "Feb", "Dec"];months.sort();console.log(months);// expected output: Array ["Dec", "Feb", "Jan", "March"]const array1 = [1, 30, 4, 21, 100000];array1.sort();console.log(array1);// expected output: Array [1, 100000, 21, 30, 4]
17.toString
toString()方法返回表示对象的字符串。
array.toString();
function Dog(name) { this.name = name;}const dog1 = new Dog("Gabby");Dog.prototype.toString = function dogToString() { return `${this.name}`;};console.log(dog1.toString());// expected output: "Gabby"
18.at
at()方法接受一个整数值并返回该索引处的项,允许使用正整数和负整数。负整数从数组中的最后一项开始倒数。
array.at(index)
const array1 = [5, 12, 8, 130, 44];let index = 2;console.log(`Using an index of ${index} the item returned is ${array1.at(index)}`);// expected output: "Using an index of 2 the item returned is 8"index = -2;console.log(`Using an index of ${index} item returned is ${array1.at(index)}`);// expected output: "Using an index of -2 item returned is 130"
19.find
find()方法返回所提供的数组中满足所提供的测试函数的第一个元素。如果没有值满足测试函数,则返回undefined。
array.find(function(currentValue, index, arr),thisValue)
const array1 = [5, 12, 8, 130, 44];const found = array1.find(element => element > 10);console.log(found);// expected output: 12
20.some
some()方法测试数组中是否至少有一个元素通过了所提供函数实现的测试。如果在数组中找到一个元素,所提供的函数为该元素返回true,则返回true;否则返回假。它不会修改数组。
array.some(callback[, thisObject]);
const array = [1, 2, 3, 4, 5];// checks whether an element is evenconst even = (element) => element % 2 === 0;console.log(array.some(even));// expected output: true
你学会了吗?如果对你有帮助,记得点赞支持!如果你正在学习JS或者已经在我们的三十天计划中完成了4个综合项目实战,那不妨可以听下这个课程体系,三十天计划群里还提供了算法、数组等知识体系!
前端工程师成长方法
更多完整 JavaScript 课程体系在我们的系统班里有完整的呈现,包含了 JavaScript 基础篇、重点、算法、原理、面试题、实战案例讲解!同时也为你提供了前端高级工程师成长体系!(详细看下图内容)
如果需要深度学习的同学可以联系助理老师了解详细的课程以及课程的报名方式!(不定期会推出活动,有大额优惠券推出,活动详情联系助理老师了解即可!)如果你才开始学习前端,那么可以先学习我们的三十天计划(零基础的同学报名系统班同学可以和老师沟通制定学习计划,可以得到更快的成长!)
为帮助到一部分同学不走弯路,真正达到一线互联网大厂前端项目研发要求,首次实力宠粉,打造了《30 天挑战学习计划》,内容如下:
HTML/HTML5,CSS/CSS3,JavaScript,真实企业项目开发,云服务器部署上线,从入门到精通
- PC 端项目开发(1 个)
- 移动 WebApp 开发(2 个)
- 多端响应式开发(1 个)
共 4 大完整的项目开发 !一行一行代码带领实践开发,实际企业开发怎么做我们就是怎么做。从学习一开始就进入工作状态,省得浪费时间。
从学习一开始就同步使用 Git 进行项目代码的版本的管理,Markdown 记录学习笔记,包括真实大厂项目的开发标准和设计规范,命名规范,项目代码规范,SEO 优化规范
从蓝湖 UI 设计稿 到 PC 端,移动端,多端响应式开发项目开发
- 真机调试,云服务部署上线;
- Linux 环境下 的 Nginx 部署,Nginx 性能优化;
- Gzip 压缩,HTTPS 加密协议,域名服务器备案,解析;
- 企业项目域名跳转的终极解决方案,多网站、多系统部署;
- 使用 使用 Git 在线项目部署;
这些内容在《30 天挑战学习计划》中每一个细节都有讲到,包含视频 + 图文教程 + 项目资料素材等。只为实力宠粉,真正一次掌握企业项目开发必备技能,不走弯路 !
过程中【不涉及】任何费用和利益,非诚勿扰 。
如果你没有添加助理老师微信,可以添加下方微信,说明要参加 30 天挑战学习计划,来自博客园!老师会邀请你进入学习,并给你发放相关资料。
30 天挑战学习计划 Web 前端从入门到实战 | arry老师的博客-艾编程
-
天天微资讯!Autodesk Maya2023 安装教程(小白看了也说understand)
Maya是Autodesk旗下的著名三维建模和动画软件,应用对象是专业的影视广告,角色动画,电影特技等。Maya...
来源: 环球快看点丨分享20个Javascript中的数组方法,收藏
基于 Dubbo Admin 实现同机房/区域优先
天天微资讯!Autodesk Maya2023 安装教程(小白看了也说understand)
焦点速递!分布式三大热门"IP"之分布式事务随笔
虚假新闻检测(CANMD)《Contrastive Domain Adaptation for Early Misinformation Detection:
世界要闻:全球出行需求爆棚:飞机制造巨头订单积压1.27万架 飞机远远不够用
焦点快播:三星推出43寸奥德赛Neo G7显示器:Mini-LED屏幕、支持144Hz高刷
最令人期待的2023新片
报道:2022年跨年档预售票房破1000万:《阿凡达2》仅位居第二
今年好莱坞最赔钱电影出炉:赔惨了
天天快播:Seata
【天天热闻】django 13 csrf 与 auth
IdentityServer4 - v4.x .Net中的实践应用
全球最新:第一百一十八篇: JavaScript 原型链式继承
【全球速看料】进口游戏版号时隔548天再发放!数量逐年下降
天天实时:2022年iPhone 14系列出货量下调 明年越南将加入生产
一加11打破安卓不可能!员工自己都不敢相信
全球要闻:兔年邮票“蓝兔子”引争议 真是童年阴影?邮政回应:没人投诉
一次多重体验:杰士邦三合一安全套30只19.9元发车
AcWing1169. 糖果
当前快讯:FreeSWITCH使用ODBC
【全球报资讯】基于NT架构脱胎换骨!QQ for Linux 3.0正式版上架官网
环球实时:卡梅隆自曝《阿凡达2》10分钟删减镜头:动作暴力元素相关
每日焦点!老外评选2022年10款最佳RPG游戏:老头环等上榜
无人驾驶可达80km/h:深圳坪山云巴1号线正式通车
【全球聚看点】还买啥Zen4 酷睿i7-12700KF到手2149元:12核5GHz游戏神U
.NET和JavaScript控件丨Infragistics功能简介
环球今热点:网友吃火锅被反向抹零多收0.3元 店家:四舍五入系统设定
【天天速看料】首发极具颠覆性技术 比亚迪仰望发布定档:明年1月5日见
全球短讯!根治安卓卡顿的旗舰来了!网友做梦梦到一加11:现在就想买 等不及了
世界微速讯:苹果高端制造离不开中国 iPhone 15 Pro Max新增立讯代工:富士康不再是唯一
天天快看点丨郑州200多车相撞事故已致1死 大雾是元凶:雾天行车指南要收好
天天报道:隐性等待和显性等待
python中的mysql操作教程及实例
大牌现货:超亚N95口罩84.9元30片发车
全球通讯!封杀半年之后微软“开恩” 俄罗斯网友可以下载Win11了
2022年进口网络游戏审批结果公布:腾讯《宝可梦大集结》等游戏在列
天天观察:世界最大液体镜面望远镜启用 成本仅为玻璃反射镜的1%
快播:NOIP动态规划
每日聚焦:数据结构(Data Structure)的基本思想是增删改查
环球视点!宝塔网站批量迁移
环球速看:首架C919机组人员分享飞行体验:感受很好、令人信任
加绒不加价:361°全革运动鞋99元大促(门店259元)
环球即时看!GTX 1060三朝元老还能被迫营业?
二代骁龙8折叠旗舰!vivo X Fold 2来了:2K轻薄大屏
实时焦点:不下载不让看全文成为历史!工信部新规将禁止网页强制用户下载应用
开发工具与低代码开发平台丨上海道宁联合Grapecity为您提供各类软件开发工具和服务
当云原生网关遇上图数据库,NebulaGraph 的 APISIX 最佳实践
天天看点:LOJ 6041 「雅礼集训 2017 Day7」事情的相似度 题解 (SAM+启发式合并)
当前热讯:WinNTSetup V5.3.0 Bata5 单文件版
一分钟搞定Netty 三大组件,如果搞不定,再看3遍
世界播报:《阿凡达2》差的远!2022国内电影票房前10:第一超40亿
前沿热点:折叠旗舰卖到白菜价!moto razr 2022宣布调价至4999元
美国人钱包年末又迎重击!极端寒潮导致上周电价飙升超6000%
天天时讯:或售70万对刚比亚迪!东风猛士M-Terrain量产实车曝光:凶悍
只有Redmi做到了!米粉没想到2022年2500元的手机都有无线充电
环球热文:隐私计算之多方安全计算(MPC,Secure Multi-Party Computation)
河南郑新黄河大桥因大雾多车相撞:涉及200多辆车
速递!安卓手机不卡顿!一加11内存基因重组技术揭秘:数据抓取量提升16倍
特斯拉股价年内暴跌70% 韩国散户疯狂抄底!背后原因不简单
女生病假期上9天班反欠公司三百多:被扣10天工资
环球速看:曝特斯拉上海工厂将在1月实施减产计划 原因未知
直降120:百度网盘超级会员12个月SVIP 178元大促
今日关注:交叉编译esp8089
【环球新要闻】Python中itertools详解
playgo是什么意思?playgo是什么牌子?
十年之痒是什么意思?十年之痒的婚姻感悟小说有哪些?
【天天聚看点】女子投资100万元 本金4年仅剩1.71万元!基金经理被集体起诉
神价手慢无:OATLY噢麦力燕麦奶1L*2瓶/19.9元抄底
焦点速读:轿车加气站去加气 一开后备厢车被炸报废
诚意碾压苹果官网!京东开启年终优惠:iPhone 14直降900元
用户已破6亿!钉钉7.0版本发布:解决产业链协同问题
室内地坪是什么意思?室内地坪漆用什么颜色?
苏武留胡节不辱是什么意思?苏武的精神品质是什么?
调配奶粉是什么意思?调制奶粉的营养价值有哪些?
亚热带水果有哪些?亚热带水果的生长环境有哪些?
拜托小姐大结局是什么?拜托小姐演员表
东非大裂谷是哪两个板块张裂形成的?东非大裂谷形成的原因是什么?
龙应台的作品有哪些?龙应台最经典的句子
乌龟和老鹰的寓意是什么?乌龟和老鹰告诉我们什么道理?
【世界热闻】Python实验报告(第8章)
全球观速讯丨Java HashMap原理
天天亮点!认证管理(锐捷交换篇)
天天快看:[PHP]用socket写一个简单的WEB服务器
游戏盒子哪个好?2022年游戏盒子排行榜
无线网络受限或者是无连接是什么原因?无线网受限制或无连接怎么办?
网上订火车票如何取票?网上订火车票用什么软件最好?
小米2s和小米2的区别有哪些?小米2s开不了机怎么办?
网通玩电信游戏卡是什么原因?网通玩电信游戏卡怎么办?
849元 墨案电纸书Air发布:24级冷暖光、30天长续航
焦点简讯:亿万富翁芒格:别再抱怨了、现在的生活比过去好了5倍多
天天报道:比亚迪推出“疯狂星期三”活动:奖品够香 附答案!
落差很大 五菱“电动吉姆尼”谍照曝光:像老头乐
全球要闻:Redmi K60系列最香版本!米粉评K60:2499元无敌 把门焊死了
天天速讯:「实操」结合图数据库、图算法、机器学习、GNN 实现一个推荐系统
天天短讯!HTML 常用标签 tag
Python爬虫实战,requests+openpyxl模块,爬取小说数据并保存txt文档(附源码)
关注:面试官问:为啥不建议使用 Select *?请你大声地回答他!!
即时:DAG任务调度系统 Taier 演进之道,探究DataSourceX 模块
【天天速看料】苹果推出跨年优惠 其实一点也没便宜