splice,slice,split傻傻分不清?

做个笔记

一、splice数组方法,更改原数组

使用方法:
splice(start)
splice(start, deleteCount)
splice(start, deleteCount, item1)
splice(start, deleteCount, item1, item2, itemN)
start: 开始索引
deleteCount:需要删除的元素数量
item1…itemN:插入的元素


const arr = ['aaa', 'bbb', 'ccc', 'ddd']

//deleteCount>0时,则是替换从start开始deleteCount数量的元素
arr.splice(0, 1, '哈哈哈')
// 输出: [ '哈哈哈', 'bbb', 'ccc', 'ddd' ]
arr.splice(1, 2, '哈哈哈')
// 输出:[ 'aaa', '哈哈哈', 'ddd' ]

//如果item1...itemN没有传值则直接是删除元素的效果
arr.splice(2, 1)
//输出:[ 'aaa', 'bbb', 'ddd' ]

//deleteCount=0时,则是在start前面插入item..itemN
arr.splice(3, 0, '哈哈哈')
// 输出:[ 'aaa', 'bbb', 'ccc', '哈哈哈', 'ddd' ]

//如果只有start,则是只截取0-start的元素
arr.splice(3)
//输出:[ 'aaa', 'bbb', 'ccc' ]

二、slice数组方法,返回一个新数组

使用方法: arr.slice(start, end) 返回一个新的数组
start: 开始索引,包含start
end: 结束索引,不包含end

const arr = ['aaa', 'bbb', 'ccc', 'ddd']
console.log(arr.slice(0, 2));
//输出 [ 'aaa', 'bbb' ] 

console.log(arr.slice(1, 3));
//输出 [ 'bbb', 'ccc' ]

console.log(arr.slice());
//输出 ['aaa', 'bbb', 'ccc', 'ddd'] 这样是一个浅拷贝

三、split字符串方法,返回一个数组

使用方法:
split(separator)
split(separator, limit)
separator: 分割的在字符
limit:一个非负整数,指定数组中包含的子字符串的数量限制

const myString = "Hello World. How are you doing?";

console.log(myString.split(" "));
//输出:[ 'Hello', 'World.', 'How', 'are', 'you', 'doing?' ]


//
console.log(myString.split(" ", 1));
//输出:[ 'Hello' ]

你可能感兴趣的:(js)