区分splice()、slice()、split()函数

突然听到关于这个的面试题 虽然也知道一些 但是大概一分钟都苟不住的那种 还是不是很清楚 所以重新复习一下
首先总结一下:

splice

splice() 方法用于添加或删除数组中的元素。
返回值
如果仅删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。

注意:splice 操作的是原数组,会改变原始数组。

嗯哼,百度上看到的总结发现比我的简洁明了 不想看我废话的可以直接看这个简介版的

	splice 是一个专门用于 数组操作 的方法,堪称最强大的数组操作方法。
	它可以对数组中的元素进行删除、插入和替换。替换原数组,返回删除的元素数组。

功能一:删除刚好昨天写了一个小案例 就用到了这个方法 删除双击的这个元素 this.arr.splice(index,1); index就是这个元素的下标 1就是删除的个数 如果个数为0就返回一个空数组

<body>
    <div id="app">
        <input type="text" v-model="info" @keyup.enter ="setInfo" >
        <p v-for="(item, index) in arr" @dblclick = "dele(index)">{{item}}</p>
    </div>
</body>
</html>
<script src="./vue.js"></script>//这里是我下载的框架,可替换成网络路径
<!-- 开发环境版本,包含了有帮助的命令行警告 -->//<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    const app = new Vue({
        el:"#app",
        data:{
            info :"",
            arr:[]
        },
        methods:{
            setInfo(){
                this.arr.push(this.info);
                
            },
            dele(index){
                this.arr.splice(index,1);
            }
        }
    })
</script>

功能二:删除并插入元素:

let arr = [1,2,3,4,5,6,7,8,9]
// 从 下标为 3 的项开始,依次向后删除 2 个元素,并将 11, 12,1 3 添加到被删除的元素的位置。
返回被删除的元素数组:[4, 5],原数组改变为:[1, 2, 3, 11, 12, 13, 6, 7, 8, 9]
arr.splice(3,2,1,2,3)

功能三:单纯插入数组:

	let arr = [1,2,3,4,5,6,7,8,9]
	// 从 下标为 3 的项开始,依次向后添加 1, 2, 3 等元素。返回被删除的元素数组:[],
	原数组改变为:[1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 8, 9]
	arr.splice(3,0,1,2,3)

split

以基于指定的分隔符将一个字符串分割成 多个子字符串,并将结果放在一个数组中

str.split('分隔字符串')
let str = 'this is a test'
str.split('s')
上面代码的运行结果为,字符串以 ‘s’ 进行分割,被分割的字符串返回成一个数组: [“thi”, " i", " a te", “t”]。

slice(切割)

slice 能够截取 字符串 或 数组,并返回一个新的 字符串 或 数组(不改变原字符串或数组)

功能一:截取字符串 str.slice(start,end)

	let str = 'hello world'
	// 截取下标 [2,5) 区间的字符串,左闭右开,结果为:llo
	let str2 = str.slice(2,5)  
	从 start下标 开始,保留到 end下标 的前一个结束,如果没有 end,就保留到最后一个字符结束。

举一反三:
除了 slice 能够截取字符串外,还有两个方法经常也被用来截取字符串,它们分别是:substr 与 substring。它们都能截取字符串,并且返回一个新的字符串(不改变原字符串)。

str.substr(start,num):截取字符串,从 start下标 开始,截取 num 个字符串。
str.substring(start,end):截取字符串,从 start下标 开始,保留到 end下标 的前一个结束,如果没有 end,就保留到最后一个字符结束,跟 slice方法 一样。

功能二:截取数组 arr.slice(start,end)

let arr = [1,2,3,4,5]
// 截取下标 [2,5) 区间的数组,左闭右开,结果为:[3, 4, 5]
let arr2 = arr.slice(2,5)  
从 start下标 开始,保留到 end下标 的前一个结束,如果没有 end,就保留到最后一个字符结束。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值