JavaScript数组的相关操作

var arr = ['I', 'am', 'an', 'array', '!']
var str = 'I am an array !'
数组转字符串
console.log(arr.join(''))   //Iamanarray!
console.log(arr.join(' '))   //I am an array !
字符串转数组
console.log(str.split(' '))   
//["I", " ", "a", "m", " ", "a", "n", " ", "a", "r", "r", "a", "y", " ", "!"]

console.log(str.split('  '))   
//["I", "am", "an", "array", "!"]
数组的截取

slice(start, end)
前包含,后不包含相当于数学中的 [start, end)
参数end可以为负值,从后往前数,最后一个元素为 -1
slice()返回的是截取出来的部分,原数组不会更改

console.log(arr.slice(2,3)) //['an']  
splice()

强大的方法,可以往数组中添加或删除元素,因返回被删除的元素
splice(start, 截取的位数, 添加的值1, 添加的值2, ...)
splice()返回的是被截取出来的部分, 原数组已经被更改

console.log(arr.splice(2,3)) // ['an', 'array', '!']
console.log(arr)  // ['I', 'am']
console.log(arr.splice(2, 2, 'a', 'new', 'array2')) 
//['an', 'array']
console.log(arr)
// ['I', 'am', 'a', 'new', 'array2', '!']

数组的首尾添加删除

首添加 unshift()

返回值是修改后数组的length值

console.log(arr.unshift('head')) //6
console.log(arr)  //['head','I', 'am', 'an', 'array', '!']
首删除 shift()

返回的是被删除的元素
数组为空时,返回undefined

console.log(arr.shift())  //['I']
console.log(arr)  //['am', 'an', 'array', '!']
尾添加 push()

push()已经是最常用的
返回值是添加新元素后数组的长度

console.log(arr.push('@'))   //6
console.log(arr)  //['I', 'am', 'an', 'array', '!', '@']
尾删除 pop()

返回的是被删除的元素
数组为空时,返回undefined

console.log(arr.pop()) //['!']
consoe.log(arr) //['I', 'am', 'an', 'array']
数组的合并

ES5

var arr2 = ['str1', 'str2']
console.log(arr.concat(arr2))  //['I', 'am', 'an', 'array', '!', 'str1', 'str2']

ES6

var arr2 = ['str1', 'str2']
console.log([...arr, ...arr2])
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容