JS数组方法整理

创建数组

  1. 方式1:
var arr = new Array()
arr[0] = '1'

2.方式2:

var arr = new Array('1','2','3')

3.方式3:

var arr = ['1','2','3']

数组方法

1.length()

length():返回数组中元素的数量

2.push()和pop():

push():在数组末尾添加一个或多个元素,并返回新数组的长度
pop():删除并返回数组的最后一个元素

var arr = ['1']
var num = arr.push('2') // num = 2,['1','2']
arr.pop() // ['1']

3.shift()和unshift()

shift():删除数组的第一个元素,并返回第一个元素
unshift():在数组开头添加一个或多个元素,并返回新数组的长度

var arr = ['1','2']
var num = arr.unshift('3')  // num = 3,['3','1','2']
arr.shift() //  ['1','2']

4.splice()

splice():用于插入、删除和替换数组元素(会改变原数组,如果删除了元素,则返回含有被删除的元素的数组)
①删除:arr.splice(要删除的第一项的下标,要删除的项数),arr.spilce(1,2)

var arr = [1,2,3]
var newArr = arr.splice(0,1) // [2,3]

②插入:arr.splice(起始下标,0,要插入的项) ,0是要删除的项数

var arr = [1,2,3]
var newArr = arr.splice(1,0,8,9) // [1,8,9,2,3]

③替换:arr.splice(起始下标,要删除的项数,要插入的项),插入的项数不必与删除的项数相等

var arr = [1,2,3]
var newArr = arr.splice(0,1,8,9) // [8,9,2,3]

5.concat()

concat():用于连接两个或多个数组(不会改变原数组,返回被连接数组的一个副本)

var arr1 = [1,2]
var arr2 = [3,4]
var newArr = arr1.concat(arr2) // [1,2,3,4]

6.join()

join():用于把数组中的所有元素转换一个字符串,连接字符默认为逗号(,) 原数组不变

var arr = [1,2,3]
var str1 = arr.join() // 1,2,3
var str2 = arr.join('-') // 1-2-3

7.toString()

toString():把数组转换为字符串,并返回结果,逗号分隔,原数组不变

var arr = [1,2,3]
var newArr = arr.toString() // '1,2,3'

8.reverse()

reverse():用于颠倒数组中元素的顺序,原数组改变

var arr = [1,2,3]
arr.reverse() // [3,2,1]

9.slice()

slice():从已有的数组中返回选定的元素,相当于截取数组元素(不改变原数组,返回一个新的数组,包含从 起始下标到结束下标的数组中的元素)
arr.slice(起始下标,结束下标) 不包括结束下标

var arr = [1,2,3,4,5,6]
var newArr = arr.slice(1,4) // [1,5,6]

10.sort()

sort():对数组的元素进行排序(会改变原始数组,字母或数字,并按升序或降序,默认为按字母升序)

var arr = ['a','d','b','c','e']
arr.sort() // ['a','b','c','d','e']
// 该方法比较的是字符串,没有按数值大小排序,实现数值排序:
function sortNum(a,b){
      return a - b
}
var arr = [6,10,9,25,100]
arr.sort(sortNum) // [6,9,10,25,100]

11.indexOf()

indexOf():返回数组中某个指定的元素位置(在数组中没找到指定元素则返回 -1)
arr.indexOf(要查找的项,起点下标) 起点下标可选

var arr [1,2,3,3,2,1]
arr.indexOf(1) // 1
arr.indexOf(1,2) // 5
arr.indexOf(1,3) // 5
arr.indexOf(1,6) // -1
arr.indexOf('1') // -1

12.lastIndexOf()

lastIndexOf():返回一个指定的元素在数组中最后出现的位置(在数组中没找到指定元素则返回 -1)
arr.lastIndexOf(要查找的项,起点下标) 起点下标可选

var arr [1,2,3,3,2,1]
arr.lastIndexOf(2) // 4
arr.lastIndexOf(2,2) // 1
arr.lastIndexOf(2,4) // 4
arr.lastIndexOf(2,100) // 4
arr.lastIndexOf('1') // -1

13.forEach()

forEach():用于调用数组的每个元素,并将元素传递给回调函数(对于空数组是不会执行回调函数)
arr.forEach((数组元素,索引,数组本身)=>{})

var arr = [1,2,3]
arr.forEach((item,index,a)=>{
  console.log(item+','+index+','+a)
})
// 1,0,[1,2,3]
// 2,1,[1,2,3]
// 3,2,[1,2,3]

14.map()

map():返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值(不会改变原始数组,不会对空数组进行检测)

var arr = [1,2,3]
var newArr = arr.map((item)=>{
  return item * item
})
console.log(newArr) // [1,4,9]

15.includes()

includes():用来判断一个数组是否包含指定的值,返回true/false
arr.includes(要查找的元素,起始下标),起始下标可选

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

推荐阅读更多精彩内容

  • js数组方法整理 整理了以下数组方法 join() push()和pop() shift() 和 unshift(...
    Leson17阅读 186评论 0 0
  • 1. join() 功能: 将数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的,默认使用’,'号分...
    樑丶阅读 98评论 0 0
  • js数组的方法很多,了解数组的方法,对于操作数组,就非常简单啦,下面介绍数组的一些常用方法 .filter() ...
    D_MingYa阅读 179评论 0 1
  • 1. 数组有哪些常用方法,功能、返回值、是否会对原数组造成影响? 方法功能返回值改变原数组(Y\N)pop()删除...
    loushumei阅读 201评论 0 0
  • 由于最近都在freecodecamp上刷代码,运用了很多JavaScript数组的方法,因此做了一份关于JavaS...
    2bc5f46e925b阅读 1,965评论 0 16