目录
数组的增删改查
1.增
(1)从尾部添加:
var arr = [1,2,3,4,5,6]
arr[arr.length] = 7
// 数组的下标是从0开始的,我们获取的长度,永远是下一个元素
console.log(arr); // [1, 2, 3, 4, 5, 6, 7]
(2)push()方法:
push()
方法将一个或多个元素
添加到数组的末尾,并返回该数组的新长度。
var arr = [1,2,3,4,5,6]
var arr1 = arr.push(7,8,9)
console.log(arr,arr1); // [1, 2, 3, 4, 5, 6, 7, 8, 9] , 9
(3)unshift方法:
unshift()
方法将一个或多个元素
添加到数组的开头,并返回该数组的新长度。
var arr = [1,2,3,4,5,6]
var arr1 = arr.unshift(7,8,9)
console.log(arr,arr1); // [7, 8, 9, 1, 2, 3, 4, 5, 6] , 9
2.删
(1)shift()方法:
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
var arr = [1,2,3,4,5,6]
var arr1 = arr.shift()
console.log(arr,arr1); // [2, 3, 4, 5, 6] , 1
(2)pop()方法:
pop() 方法用于删除并返回数组的最后一个元素。
var arr = [1,2,3,4,5,6]
var arr1 = arr.pop()
console.log(arr,arr1); // [1, 2, 3, 4, 5] , 6
(3)slice()方法:
slice()
方法返回一个新的数组对象,这一对象是一个由start
和end
决定的原数组的浅拷贝(包括begin
,不包括end
)。原始数组不会被改变。
var arr = [1,2,3,4,5,6]
var arr1 = arr.slice(0,3)
console.log(arr,arr1); // [1, 2, 3, 4, 5, 6] , [1, 2, 3]
// slice(start, end)
// start: 起始位置,如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取。
// 数值超出原数组的索引范围,则会返回空数组。
// end: 终止位置,如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。
// 如果 end 被省略或者大于数组长度,则会一直提取到原数组末尾。
3.查
可以直接查
var arr = [1,2,3,4,5,6,7,8]
console.log(arr[3]); // 4
indexOf()方法:
indexOf(searchElement, fromIndex)
searchElement 要查找的元素
fromIndex: 开始查找的位置。
如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回 -1。
如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即 -1 表示从最后一个元素开始查找,-2 表示从倒数第二个元素开始查找 ,以此类推。
注意:如果参数中提供的索引值是一个负值,并不改变其查找顺序,查找顺序仍然是从前向后查询数组。如果抵消后的索引值仍小于 0,则整个数组都将会被查询。其默认值为 0。
var arr = [1,2,3,4,5,6,7,8]
console.log(arr.indexOf(3)); // 2
// 返回首个被找到的元素在数组中的索引位置; 若没有找到则返回 -1
var arr = [1,2,3,4,5,6,7,8]
console.log(arr.indexOf(3,0)); // 2
// 返回首个被找到的元素在数组中的索引位置; 若没有找到则返回 -1
其他:
reverse()方法:
reverse() 方法用于颠倒数组中元素的顺序。
var arr = [1,2,3,4,5,6]
console.log(arr); // [1, 2, 3, 4, 5, 6]
console.log(arr.reverse()); // [6, 5, 4, 3, 2, 1]
sort()方法:
sort() 方法用于对数组的元素进行排序。数组在原数组上进行排序。
var arr = [4,2,7,3,8,1,6]
console.log(arr); // [4, 2, 7, 3, 8, 1, 6]
console.log(arr.sort()); // [1, 2, 3, 4, 6, 7, 8]
concat()方法:
concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
var arr = [1,2,3,4]
var arr1 = [5,6,7,8]
console.log(arr.concat(arr1)); // [1, 2, 3, 4, 5, 6, 7, 8]
可以合并多个数组,用逗号分隔
var arr = [1,2,3,4]
var arr1 = [5,6,7,8]
var arr2 = [8,10,11,12]
console.log(arr.concat(arr1,arr2)); // [1, 2, 3, 4, 5, 6, 7, 8, 8, 10, 11, 12]
join()方法:
join() 方法用于把数组中的所有元素放入一个字符串。
可以指定分隔符对字符串进行分隔
var arr = [1,2,3,4,5,6]
var arr1 = arr.join('*')
console.log(arr); // [1, 2, 3, 4, 5, 6]
console.log(arr1); // 1*2*3*4*5*6
split()方法:
split() 方法用于把一个字符串通过指定分隔符分割成字符串数组。
split() 方法不改变原始字符串。
var arr = 'H*ell*o*wo*rld'
var arr1 = arr.split('*')
console.log(arr); // H*ell*o*wo*rld
console.log(arr1); // ['H', 'ell', 'o', 'wo', 'rld']
splice()方法:
splice()
方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。返回值:由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。
splice(start, deleteCount, item)
start 指定修改的开始位置(从 0 计数)。
如果超出了数组的长度,则从数组末尾开始添加内容;
如果是负值,则表示从数组末位开始的第几位;
如果负数的绝对值大于数组的长度,则表示开始位置为第 0 位。
deleteCount 整数,表示要移除的数组元素的个数。
省略或者数值大于start之后的元素的总数就会删除开始位置之后的全部元素。
item 要添加进数组的元素,从start 位置开始。
如果不指定,则 splice() 将只删除数组元素。
// 传入一个值
var arr = [1,2,3,4,5,6,7,8]
var arr1 = arr.splice(2)
console.log(arr); // [1, 2]
console.log(arr1); // [3, 4, 5, 6, 7, 8]
// 传入两个值
var arr = [1,2,3,4,5,6,7,8]
var arr1 = arr.splice(2,3)
console.log(arr); // [1, 2, 6, 7, 8]
console.log(arr1); // [3, 4, 5]
// 传入三个值
var arr = [1,2,3,4,5,6,7,8]
var arr1 = arr.splice(6,2,9,9)
console.log(arr); // [1, 2, 3, 4, 5, 6, 9, 9]
console.log(arr1); // [7, 8]