JavaScript 数组 API 返回值、是否改变原数组、是否产生新数组总结

已经很久没有写过文章了,其实也不是没有写,只是在写的过程中,产生了很多烂尾文。很多文章只写了个开头,却不知道后面该怎么写。今天带来一篇关于JS数组的相关总结,主要是针对数组的方法返回值是什么,是否改变原数组,是否产生新的数组,具体数组方法怎么使用及相关使用场景请点击这里

语法 含义 返回值 改变原数组 是否产生新的数组
Array.from() 将一个类数组或可迭代对象转换为数组 返回一个新的数组 -
Array.isArray() 判断一个对象是否为数组 返回一个布尔值 -
Array.of() 创建一个具有可变数量参数的新数组 返回一个新数组 -
Array.concat() 将数组和(或)值连接成新数组 返回一个新数组
Array.copyWithin(index, start, end) 将数组从 start 到 end 位置的内容复制到 index 返回修改后的数组
Array.entries() 返回一个包含数组中每个索引和值的 Array Iterator 对象 返回数组的迭代器,包含数组的索引和值
Array.every() 测试数组的所有元素是否都通过了指定函数的测试 返回一个布尔值
Array.fill(val, start, end) 将从 start 到 end 位置的值用 val 填充 返回填充后的数组
Array.filter() 返回通过所提供函数实现的测试的所有元素构成的新数组 返回一个新数组
Array.find() 返回数组中满足提供的测试函数的第一个元素的值 返回原数组中满足条件的第一个值,不满足返回 undefined
Array.findIndex() 返回数组中满足提供的测试函数的第一个元素的索引 返回数组中满足条件的第一个值的索引,不满足返回 -1
Array.flat() 将多维数组扁平化成一维数组 返回一个扁平化后的新数组
Array.flatMap() 先按照 map 方法对数组的每一项进行操作,再做扁平化处理 返回一个扁平化后的新数组
Array.forEach() 遍历数组并执行一次提供的函数 返回 undefined 不一定,当数组中元素是值类型,forEach绝对不会改变数组;当是引用类型,则可以改变数组
Array.includes() 用来判断一个数组是否包含一个指定的值 返回一个布尔值
Array.indexOf() 返回在数组中可以找到一个给定元素的第一个索引 返回数组中满足条件的第一个值的索引,不满足返回 -1
Array.join() 将数组或类数组对象以某符号分隔成一个字符串 返回一个字符串
Array.keys() 返回一个包含数组中每个索引键的 Array Iterator 对象 返回数组的迭代器,里面包含索引
Array.lastIndexOf() 返回在数组中可以找到一个给定元素的最后一个索引 返回数组中满足条件的最后一个值的索引,不满足返回 -1
Array.map() 遍历数组并执行一次提供的函数 返回一个新数组 不一定,可以将返回结果赋值给原数组从而改变原数组的值
Array.pop() 删除数组最后一个元素 返回最后一个元素的值
Array.push() 在数组最后添加一个或多个元素 返回数组的长度
Array.reduce() 对数组中的每个元素执行一个提供的 reducer 函数(升序执行),将其结果汇总为单个返回值 返回 reducer 函数处理的结果 不一定
Array.reduceRight() 对数组中的每个元素执行一个提供的 reducer 函数(从后向前执行),将其结果汇总为单个返回值 返回 reducer 函数处理的结果 不一定
Array.reverse() 将数组中元素的位置颠倒 返回颠倒后的数组
Array.shift() 删除数组第一个元素 返回数组第一个元素的值
Array.slice(start, end) 截取原数组从 start 到 end 位置的元素 返回一个新数组
Array.some() 测试是否至少有一个元素通过由提供的函数实现的测试 返回一个布尔值
Array.sort() 对数组进行排序 返回排序后的数组
Array.splice(start, deleteCount, val) 从 start 位置开始删除 deleteCount 元素,并用 val 去替换 返回修改后的数组
Array.toLocaleString() 数组中的元素将使用各自的 toLocaleString 方法转成字符串,并用逗号分隔 返回一个字符串
Array.toString() 将数组中的内容按字符串形式返回 返回一个字符串
Array.unshift() 在数组第一个位置添加一个或多个元素 返回数组的长度
Array.values() 返回一个包含数组中每个索引值的 Array Iterator 对象 返回数组的迭代器,里面包含值

可以改变原数组的方法:

Array.copyWithin()
Array.fill()
Array.pop()
Array.push()
Array.reverse()
Array.shift()
Array.unshift()
Array.sort()
Array.splice()

不会改变原数组的方法:

Array.concat()
Array.entries()
Array.keys()
Array.values()
Array.every()
Array.some()
Array.filter()
Array.find()
Array.findIndex()
Array.flat()
Array.flatMap()
Array.includes()
Array.indexOf()
Array.lastIndexOf()
Array.join()
Array.reduce()
Array.reduceRight()
Array.toLocaleString()
Array.toString()

可能会改变 也可能不会改变原数组的方法

Array.forEach()
Array.map()

会产生新数组的方法

Array.from()
Array.of()
Array.concat()
Array.filter()
Array.flat()
Array.flatMap()
Array.map()
Array.reduce()
Array.reduceRight()
Array.slice()

本文只是一个简单的帮助记忆的资料,没有讲过多关于数组 API 的用法。想了解更多用法还是参考上面的链接,去看 MDN 官方的 JS 教程。如在文章中出现某些错误,也欢迎各位大佬在评论区留言指出。码字不易,请尊重作者版权,转载注明出处。
By BeLLESS 2019.03.14 23:36

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容