JS 处理数组多种方法
js 中的数据类型分为两大类:原始类型和对象类型。
原始类型包括:数值、字符串、布尔值、null、undefined
对象类型包括:对象即是属性的集合,当然这里又两个特殊的对象----函数(js中的一等对象)、数组(键值的有序集合)。
数组元素的添加
arrayObj.push([item1 [item2 [. . . [itemN ]]]]);
将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);
将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);
将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""
数组元素的删除
arrayObj.pop();
移除最后一个元素并返回该元素值
arrayObj.shift();
移除最前一个元素并返回该元素值,数组中元素自动前移
arrayObj.splice(deletePos,deleteCount);
删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
截取与合并
arrayObj.slice(start, [end]);
以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]);
将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组
数组的拷贝
arrayObj.slice(0);
返回数组的拷贝数组,注意是一个新的数组,不是指向
arrayObj.concat();
返回数组的拷贝数组,注意是一个新的数组,不是指向
数组元素的排序
arrayObj.reverse();
反转元素(最前的排到最后、最后的排到最前),返回数组地址
arrayObj.sort();
对数组元素排序,返回数组地址
数组元素的插入
arrayObj.splice(insertPos,0, [item1[, item2[, . . . [,itemN]]]]);
从 insertPos 位置插入指定的item元素,0代表删除0个元素,返回空数组
数组元素的替换
arrayObj.splice(insertPos,replaceCount, [item1[, item2[, . . . [,itemN]]]]);
从 insertPos 位置删除 replaceCount 个元素,再从 insertPos 位置添加指定的item元素,数组形式返回被删除的元素
数组元素的位置
arrayObj.indexOf(findThing,start);
从要查找的起点(可选) start 开始向后找要查找的项 findThing ,找的准则是全等,找到则返回该值的位置,找不到则返回-1
arrayObj.lastIndexOf(findThing,number)
从要查找的起点(可选) start 开始向前找要查找的项 findThing ,找的准则是全等,找到则返回该值的位置,找不到则返回-1
数组元素的迭代
arrayObj.every()
对数组中的每一项运行给定的函数,如果该函数对每一项都返回 true ,则返回 true
arrayObj.filter()
对数组中的每一项运行给定的函数,返回该函数会返回 true 的项组成的数组
arrayObj.forEach()
对数组中的每一项运行给定的函数,这个方法没有返回值
arrayObj.map()
对数组中的每一项运行给定的函数,返回每次函数调用的结果组成的数组
arrayObj.some()
对数组中的每一项运行给定的函数,如果该函数对任一项返回 true ,则返回 true
数组元素的归并
arrayObj.reduce(prev, cur, index, array)
从数组的第一项开始,逐个便利到最后,四个参数分别为前一个值,当前值,项的索引和数组对象,函数返回的任何值会作为第一个参数自动传给下一项
000
arrayObj.reduceRight()
从数组的最后开始,逐个便利到第一项,四个参数分别为前一个值,当前值,项的索引和数组对象,函数返回的任何值会作为第一个参数自动传给下一项
数组元素的字符串化
arrayObj.join(separator);
返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。
toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用
toSource() 返回该对象的源代码
toString() 把数组转换为字符串,并返回结果
toLocaleString() 把数组转换为本地数组,并返回结果
valueOf() 返回数组对象的原始值
ES5 新增
Array.prototype.indexOf
indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1。
Array.prototype.lastIndexOf
Array.prototype.every
Array.prototype.some
Array.prototype.forEach
forEach为每个元素执行对应的方法
Array.prototype.map
map()对数组的每个元素进行一定操作(映射)后,会返回一个新的数组
map()是处理服务器返回数据时是一个非常实用的函数
Array.prototype.filter
该filter()方法创建一个新的匹配过滤条件的数组。
Array.prototype.reduce
reduce()可以实现一个累加器的功能,将数组的每个值(从左到右)将其降低到一个值
场景: 统计一个数组中有多少个不重复的单词
Array.prototype.reduceRight
以上这篇JavaScript 中有关数组对象的方法(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
javascript对象和数组
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。