学前端1年了,每次使用数组方法的时候,我特么老是分不清这三个方法,于是今天打算好好整理记忆一下。
一、slice
slice翻译过来有把…切成(薄)片,从词面意思就可以知道这玩意肯定是来截取数组的某一部分的!
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
console.log(animals.slice(2));
// 结果:["camel", "duck", "elephant"],传一个正数,传的是下标,并从下标开始截取
console.log(animals.slice(2, 4));
// 结果:["camel", "duck"],传两个正数,代表区间,在数学里面这样表示[2,4),截取的话从2开始但不包括4
console.log(animals.slice(-2));
// 结果:["duck", "elephant"],传一个负数,则表示取后几位
console.log(animals.slice(2, -1));
// 结果:["camel", "duck"],传递一正一负,则代表从2开始截取,到最后几位,但不包括它自己
console.log(animals.slice());
// 结果:["ant", "bison", "camel", "duck", "elephant"]
二、split
split翻译过来叫分裂,而一般分裂是有规律可循的。所以与splice切割不同,切割是随机的。
let text = "How are you doing today?";
const myArray = text.split(" ");
// 结果:["How","are","you","doing","today"],很显然,这特喵的是一个字符串方法。
三、splice
splice翻译过来叫粘接???不能理解,但是它很独特,有增删改三种功能。
const arr = [1,2,3,4]
// 传递两个参数时 splice(从下这个标开始删除,从自己开始往后删几个)
arr.splice(1,2)
// 结果:[1,4]
// 传递三个参数时 splice(从下这个标开始删除,从自己开始往后删几个,删除的位置放的内容)
arr.splice(1,2,999)
// 结果:[1,999,4],若是把中间的参数改为0则变成了添加操作