给splice()、slice()、split()总是分不清的自己

已经写了一年多的js,用了无数次字符串分割,嗯!但是还是傻傻分不清splice、slice和split,每次都要搜。。。。这两天又碰上了,但是我决定不再逃避了!来!总!结!

一、给谁用 ?

  1. splice()
    即Array.prototype.splice()。是数组对象的方法。
  2. slice()
    有String.prototype.slice()和Array.prototype.slice()。因此字符串和数组都可以使用。
  3. split()
    即String.prototype.split()。是字符串方法

二、怎么用?

1.splice(start,deleteCount,item),共3个参数。

  • start指定修改开始的位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位;如果负数的绝对值大于数组的长度,则表示开始位置为第0位。
  • deleteCount(可选参数) 整数,表示要移除的数组元素的个数。为0或者负数时应至少添加一个新元素。
  • item(可选参数) 要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素。
const months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb'); // inserts at index 1
console.log(months);//output: Array ["Jan", "Feb", "March", "April", "June"]
  1. slice()
    str.slice(beginIndex, endIndex)------从beginIndex索引(以 0 为基数)处开始提取原字符串中的字符;在endIndex(可选)索引(以 0 为基数)处结束提取字符串。
    在这里插入图片描述
    arr.slice(begin, end)------提取begin(可选)的索引(从 0 开始),从该索引开始提取原数组元素;提end(可选)的索引(从 0 开始),在该索引处结束提取原数组元素。slice 会提取原数组中索引从 begin 到 end 的所有元素(包含 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"]
console.log(animals.slice(1, 5));
// expected output: Array ["bison", "camel", "duck", "elephant"]
  1. split()
    str.split(separator, limit)------separator分隔符;limit 整数,限定返回的分割片段数量。
    在这里插入图片描述
    在这里插入图片描述

三、用了会怎样?

  1. splice()
    使用splice后会返回由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包 含一个元素的数组。如果没有删除元素,则返回空数组。需要注意的是splice()会修改原数组。
let arr = [1,2,3,4,5]
//undefined
arr.splice(1,1)
//[2]
arr
//[1, 3, 4, 5]
  1. slice()
    str.slice()返回一个从原字符串中提取出来的新字符串,且不会改变原字符串
    arr.slice()返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变
  2. split()
    返回源字符串以分隔符出现位置分隔而成的一个 Array
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值