前端面试题---js部分---

js— splice,slice,split 还在傻傻分不清吗?

一:splice:

splice 数组操作,从数组中添加或删除元素,返回新的数组(⚠️:会对原数组进行更改,获取的是新的数组)

1: splice删除元素

var arr = [2, 3, 4, 5, 6, 7];
console.log(arr.splice(1, 3)); // 3,4,5   // x<y  arr.splice(x,y) 从索引为x的开始截取y位 但当y>arr.length时,返回的是从索引为x到 arr.lenght-1(即剩下的所有)
console.log(arr)  // 2,6,7 splice 会改变原数组,返回的是经过splice处理后剩下的值


var arr2 = [2, 3, 4, 5, 6, 7];
console.log(arr2.splice(-2, 2));  // 6,7
// 第一个参数为负数时从数组右边往前边数,从-1开始
2: splice添加元素
var arr3 = ["a", "b", "c", "d", "e"];
console.log(arr3.splice(2, 1, 'w', 'z'));  // c  返回的是删除的元素
console.log(arr3) // ["a", "b", "w" , "z" , "d" , "e"]; //  原数组会被改变,会把添加的元素放到数组里,并且去掉删除的元素,

二:slice:
slice():用于截取数组,并返回截取到的新的数组,数组与字符串对象都使用(⚠️:对原数组不会改变)

var arr4 = [11, 12, 13, 14, 15, 16];
console.log(arr4.slice(2, 4));   // 包含从start到end(不包括该元素)的arrayObject中的元素。 // 当第二个参数大雨数组的长度-1时,返回的是剩下的所有
console.log(arr4)   // 原数组不被改变

var arr5 = [11, 12, 13, 14, 15, 16];
console.log("arr4", arr4.slice(2));  // 13,14,15,16  // 只有一个参数时,返回的是从索引开始的所有


var arr6 = [11, 12, 13, 14, 15, 16];
console.log("arr5", arr6.slice(-3, -1));  // [14,15]


var arr7 = [11, 12, 13, 14, 15, 16];
console.log("arr7", arr7.slice(-3, 3));   //[] 索引-3 和 3中间没有重叠元素


var arr8 = [11, 12, 13, 14, 15, 16];
console.log("arr8", arr8.slice(-3, 0)) // []  索引-3 和 0中间没有重叠元素

var arr9 = [11, 12, 13, 14, 15, 16];
console.log("arr9", arr9.slice(1, -2)) // [12,13,14] 从索引 1开始到索引1为-2结束,不包括-2

三: split 切割字符串为数组

var str = 'a,b,c,d';
var arr10 = str.split(',')//使用''空格切割字符串
console.log(arr10)//['a','b','c','d'];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值