js处理数组的所有方法(巨细,巨全)

目录

数组的增删改查

1.增

(1)从尾部添加:

(2)push()方法:

(3)unshift方法:

2.删

(1)shift()方法:

(2)pop()方法:

(3)slice()方法:

3.查

indexOf()方法:

其他:

reverse()方法:

sort()方法:

concat()方法:

join()方法:

split()方法:

splice()方法:


数组的增删改查

1.增

(1)从尾部添加:

var arr = [1,2,3,4,5,6]
    arr[arr.length] = 7
    // 数组的下标是从0开始的,我们获取的长度,永远是下一个元素
    console.log(arr); //  [1, 2, 3, 4, 5, 6, 7]

(2)push()方法:

   push() 方法将一个或多个元素添加到数组的末尾并返回该数组的新长度

    var arr = [1,2,3,4,5,6]
    var arr1 = arr.push(7,8,9)
    console.log(arr,arr1); // [1, 2, 3, 4, 5, 6, 7, 8, 9] , 9

(3)unshift方法:

unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度

    var arr = [1,2,3,4,5,6]
    var arr1 = arr.unshift(7,8,9)
    console.log(arr,arr1); // [7, 8, 9, 1, 2, 3, 4, 5, 6] , 9

2.删

(1)shift()方法:

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

    var arr = [1,2,3,4,5,6]
    var arr1 = arr.shift()
    console.log(arr,arr1); // [2, 3, 4, 5, 6] , 1

(2)pop()方法:

pop() 方法用于删除并返回数组的最后一个元素。

    var arr = [1,2,3,4,5,6]
    var arr1 = arr.pop()
    console.log(arr,arr1); // [1, 2, 3, 4, 5] , 6

(3)slice()方法:

slice() 方法返回一个新的数组对象,这一对象是一个由 start 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变

    var arr = [1,2,3,4,5,6]
    var arr1 = arr.slice(0,3)
    console.log(arr,arr1); //  [1, 2, 3, 4, 5, 6] , [1, 2, 3]
    // slice(start, end) 
    // start: 起始位置,如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取。
    // 数值超出原数组的索引范围,则会返回空数组。

    // end: 终止位置,如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。
    // 如果 end 被省略或者大于数组长度,则会一直提取到原数组末尾。

3.查

可以直接查

    var arr = [1,2,3,4,5,6,7,8]
    console.log(arr[3]); // 4

indexOf()方法:

indexOf(searchElement, fromIndex) 
searchElement  要查找的元素

fromIndex: 开始查找的位置。
如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回 -1。
如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即 -1 表示从最后一个元素开始查找,-2 表示从倒数第二个元素开始查找 ,以此类推。 
注意:如果参数中提供的索引值是一个负值,并不改变其查找顺序,查找顺序仍然是从前向后查询数组。如果抵消后的索引值仍小于 0,则整个数组都将会被查询。其默认值为 0。
    var arr = [1,2,3,4,5,6,7,8]
    console.log(arr.indexOf(3)); // 2
    // 返回首个被找到的元素在数组中的索引位置; 若没有找到则返回 -1
    var arr = [1,2,3,4,5,6,7,8]
    console.log(arr.indexOf(3,0)); // 2
    // 返回首个被找到的元素在数组中的索引位置; 若没有找到则返回 -1

其他:

reverse()方法:

reverse() 方法用于颠倒数组中元素的顺序。

    var arr = [1,2,3,4,5,6]
    console.log(arr); // [1, 2, 3, 4, 5, 6]
    console.log(arr.reverse()); // [6, 5, 4, 3, 2, 1]

sort()方法:

sort() 方法用于对数组的元素进行排序。数组在原数组上进行排序。

    var arr = [4,2,7,3,8,1,6]
    console.log(arr); // [4, 2, 7, 3, 8, 1, 6]
    console.log(arr.sort()); // [1, 2, 3, 4, 6, 7, 8]

concat()方法:

concat() 方法用于连接两个或多个数组。

该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

    var arr = [1,2,3,4]
    var arr1 = [5,6,7,8]
    console.log(arr.concat(arr1)); // [1, 2, 3, 4, 5, 6, 7, 8]

可以合并多个数组,用逗号分隔

    var arr = [1,2,3,4]
    var arr1 = [5,6,7,8]
    var arr2 = [8,10,11,12]
    console.log(arr.concat(arr1,arr2)); // [1, 2, 3, 4, 5, 6, 7, 8, 8, 10, 11, 12]

join()方法:

join() 方法用于把数组中的所有元素放入一个字符串。

可以指定分隔符对字符串进行分隔

    var arr = [1,2,3,4,5,6]
    var arr1 = arr.join('*')
    console.log(arr); // [1, 2, 3, 4, 5, 6]
    console.log(arr1); // 1*2*3*4*5*6

split()方法:

split() 方法用于把一个字符串通过指定分隔符分割成字符串数组。

split() 方法不改变原始字符串。

    var arr = 'H*ell*o*wo*rld'
    var arr1 = arr.split('*')
    console.log(arr); // H*ell*o*wo*rld
    console.log(arr1); // ['H', 'ell', 'o', 'wo', 'rld']

splice()方法:

splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组

返回值:由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。

splice(start, deleteCount, item)
    start 指定修改的开始位置(从 0 计数)。
    如果超出了数组的长度,则从数组末尾开始添加内容;
    如果是负值,则表示从数组末位开始的第几位;
    如果负数的绝对值大于数组的长度,则表示开始位置为第 0 位。

    deleteCount 整数,表示要移除的数组元素的个数。
    省略或者数值大于start之后的元素的总数就会删除开始位置之后的全部元素。

    item 要添加进数组的元素,从start 位置开始。
    如果不指定,则 splice() 将只删除数组元素。
    // 传入一个值 
    var arr = [1,2,3,4,5,6,7,8]
    var arr1 = arr.splice(2)
    console.log(arr); // [1, 2]
    console.log(arr1); // [3, 4, 5, 6, 7, 8]
    // 传入两个值
    var arr = [1,2,3,4,5,6,7,8]
    var arr1 = arr.splice(2,3)
    console.log(arr); // [1, 2, 6, 7, 8]
    console.log(arr1); // [3, 4, 5]
    // 传入三个值   
    var arr = [1,2,3,4,5,6,7,8]
    var arr1 = arr.splice(6,2,9,9)
    console.log(arr); // [1, 2, 3, 4, 5, 6, 9, 9]
    console.log(arr1); // [7, 8]

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值