1. push() 方法
定义: push() 方法,向数组末尾添加新元素, 并返回新长度, 会改变原数组的长度。
实例:
let arr = [1,2,3,4,5]
console.log(arr.push(8)) // 6
console.log(arr) // [1,2,3,4,5,8]
2. pop() 方法
定义: pop() 方法,移除数组的最后一个元素,并返回该元素,会改变原数组的长度。
实例:
let arr = [1,2,3,4,5]
console.log(arr.pop()) // 5
console.log(arr) //[1,2,3,4]
3. shift () 方法
定义: shift () 方法,移除数组的第一个元素,并返回该元素,会改变原数组的长度。
实例:
let arr = [1,2,3,4,5]
console.log(arr.shift()) // 1
console.log(arr) // [2,3,4,5]
4. unshift () 方法
定义: unshift () 方法,在数组的开头添加一个新元素,并返回添加完后的新数组长度,会改变原数组的长度。
实例:
let arr = [1,2,3,4,5]
console.log(arr.unshift(5)) // 6
console.log(arr) //[5,1,2,3,4,5]
5. splice () 方法
定义: splice () 方法,可以通过删除元素来实现插入、删除、替换
5.1 splice 删除 -- 返回值是被删除的元素,会改变原数组的长度
语法: array.splice(index,n)
参数:
index:数组中需要删除数据的起始位置(索引值 )
n:需要删除的元素,数据的个数
实例:
let arr = [1,2,3,4,5]
console.log(arr.splice(1,2)) // [2,3]
console.log(arr) // [1,4,5]
5.2 splice 插入 -- 返回值是[ ],会改变原数组
语法: array.splice(index,0,data1,data2,....)
参数:
index:数组中需要插入数据的起始位置(索引值);
0:删除的个数为0;
data1,data2:需要插入的元素,用逗号隔开
实例:
let arr = [1,2,3,4,5]
console.log(arr.splice(1,0,6,8)) // []
console.log(arr) // [1,6,8,2,3,4,5]
5.3 splice 替换 -- 返回值是被替换的元素(或者说是被删除的元素)
语法: array.splice(index,n,data1,data2,......)
参数:
index:需要替换的元素的起始位置(索引值);
n:需要替换的元素的个数,实质是删除;
data1,data2:需要插入元素,用逗号隔开;
实例:
let arr = [1,2,3,4,5]
console.log(arr.splice(1,3,6,9)) // [2,3,4]
console.log(arr) // [1,6,9,5]
6. concat() 方法
定义: concat() 方法,可以将两个数组拼接在一起,返回一个拼接后的新数组,不改变原数组。
实例:
let arr = [1,2,3,4,5]
let arr1 = [5,2]
console.log(arr.concat([6,9])) // [1,2,3,4,5,6,9]
// 也可以拼到前面
console.log(arr1.concat([...arr])) // [5,2,1,2,3,4,5]
console.log(arr) // [1,2,3,4,5]
7. split() 方法
定义: split() 方法,可以将字符串分割成为字符串数组,返回一个新的字符串数组
语法: str.split(separator,howmany)
参数:
separator,必需,字符串或正则表达式,从该参数指定的地方分割 str,如果把空字符串 ('') 用作 separator,那么 str 中的每个字符之间都会被分割。
howmany,可选,该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
实例:
let str = 'hello world'
console.log(str.split('')) // ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
console.log(str.split('o')) // ['hell', ' w', 'rld']
console.log(str.split('',4)) // ['h', 'e', 'l', 'l']
console.log(str) // hello world
8. join() 方法
定义: join() 方法,将数组元素转换为字符串,返回一个新的字符串,元素将由指定的分隔符分隔。默认分隔符是逗号 (,)。
实例:
let arr = [1,2,3,4,5]
console.log(arr.join()) // 1,2,3,4,5
console.log(arr.join('-')) // 1-2-3-4-5
console.log(arr.join('and')) // 1and2and3and4and5
9. sort() 方法
定义: sort() 方法,是数组自带的一种排序方法,默认情况下,sort() 方法将按字母和升序,将值作为字符串进行排序,返回新数组,会改变原数组。
1. 当元素为字符串时
将元素从字符串从第一位开始比较,第一位相同时比较后一位。
var arr = ["cb","a","g","cy"];
arr.sort();
console.log(arr); //["a","cb","cy","g"]
2.当元素为数字时
默认将数字元素当做字符串来进行比较。先比较第一位,第一位相同时在比较后一位。
var arr2 = [20,13,11,8,0,11];
arr2.sort();
console.log(arr2); //[0,11,11,13,20,8]
3. 控制sort()方法的排序方式
var arr2 = [20,13,11,8,0,11];
//按升序排列
arr2.sort(function(a,b){
//a,b表示相邻的两个元素
//若返回值>0,数组元素将按升序排列
//若返回值<0,数组元素将按降序排列
return a-b;
});
console.log(arr2); //[0,8,11,11,13,20]; 新数组按升序排列
//按降序排列
arr2.sort(function(a,b){
//a,b表示相邻的两个元素
//若返回值>0,数组元素将按升序排列
//若返回值<0,数组元素将按降序排列
return b-a;
});
console.log(arr2); //[20,13,11,11,8,0]; 新数组按降序排列
//随机排序
arr2.sort(function(a,b){
return Math.random()-0.5; //返回值的正负概率分别为50%,故升降序排列是随机的
});
console.log(arr2); //新数组随机排序
10. includes() 方法
定义: includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
语法:
arr.includes(searchElement)
arr.includes(searchElement, fromIndex)
参数:
searchElement: 必须,需要查找的元素值。
fromIndex:可选,从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。
实例:
let arr = [22,15,0,6,32,13]
console.log(arr.includes(15)) // true
console.log(arr.includes('15')) // false
console.log(arr.includes(6,3)) // true
console.log(arr.includes(6,4)) // false
// 如果fromIndex 大于等于数组长度 ,则返回 false 。该数组不会被搜索
console.log(arr.includes(13,10)) // false
// 如果 fromIndex 为负值,计算出的索引将作为开始搜索searchElement的位置。如果计算出的索引小于 0,则整个数组都会被搜索。
console.log(arr.includes(0,-5)) // true
今天就先写到这里,明日再战!
每日一汤:
时间是个常数,但也是个变数。勤奋的人无穷多,懒惰的人无穷少。