1.push()
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度 push()内部可以插入多个值,在数组末尾添加新值
<script type="text/javascript">
let a = ['111', '222', '3333', '444']
console.log(a)//["111", "222", "3333", "444"]
console.log(a.push('aaa'))//5
console.log(a)//["111", "222", "3333", "444", "aaa"]
</script>
<script type="text/javascript">
let a = ['111', '222', '3333', '444']
console.log(a)//["111", "222", "3333", "444"]
console.log(a.push('aaa','bbbb'))//6
console.log(a)//["111", "222", "3333", "444", "aaa", "bbbb"]
</script>
2.pop()
pop()方法可以将数组最后一位元素删除
<script type="text/javascript">
let a = ['111', '222', '3333', '444']
console.log(a)//["111", "222", "3333", "444"]
console.log(a.pop())//444
console.log(a)//["111", "222", "3333"]
</script>
当数组为空时,打印undefined
<script type="text/javascript">
let a = []
console.log(a)//[]
console.log(a.pop())//undefined
console.log(a)//[]
</script>
3.shift()
shift()方法可以将数组第一位元素删除
<script type="text/javascript">
let a = ['111', '222', '3333', '444']
console.log(a)//["111", "222", "3333", "444"]
console.log(a.shift())//111
console.log(a)//["222", "3333", "444"]
</script>
4.unshift()
unshift()方法可以在数组开头添加任意数量的元素
<script type="text/javascript">
let a = ['111', '222', '3333', '444']
console.log(a)//["111", "222", "3333", "444"]
console.log(a.unshift('unshift1'))//5
console.log(a)//["unshift1", "111", "222", "3333", "444"]
</script>
<script type="text/javascript">
let a = ['111', '222', '3333', '444']
console.log(a)//["111", "222", "3333", "444"]
console.log(a.unshift('unshift1','unshift2'))//6
console.log(a)//["unshift1", "unshift2", "111", "222", "3333", "444"]
</script>
5.splice()
splice(a,b,c)
第一个参数:表示从哪个位置删除/插入/替换元素
例:splice(1);第一个元素保留,之后的全部删除
第二个参数:
删除元素,表示删除几个元素
替换元素,替换元素个数,同时之后写元素内容,用逗号连接
插入元素,第二个参数传入0,之后跟插入元素,用逗号连接
例:splice(1,2,‘a’,‘b’);第2,3元素替换为a,b,
例:splice(1,0,‘a’);将a插入第一个元素之后
6.sort()
sort()方法可以对数组中的每一个元素进行排序,但是问题来了,即便数组元素全部都是数值类型,此方法依然会将所有元素先转换成字符串再进行升序排序。
因此,为了解决这个问题,sort()方法允许传入一个比较函数作为参数,实现升序或者降序。
var arr = [0, 1, 5, 10, 15];
// reserve()反转、 sort()升序(小 => 大)
console.log(arr.reverse()); // 返回反转后的新数组 [15, 10, 5, 1, 0]
console.log(arr); // [15, 10, 5, 1, 0]
// sort()方法比较的始终是字符串
console.log(arr.sort()); // 返回排序后的新数组 [0, 1, 10, 15, 5]
console.log(arr); // [0, 1, 10, 15, 5]
// 为了解决使用sort()会转换成字符串后再比较的问题,sort()方法可以传入一个比较函数。
function compareMinToMax(value1, value2) { // 升序函数
return value1 - value2;
}
arr.sort(compareMinToMax); // 传入比较函数
console.log(arr); // [0, 1, 5, 10, 15]
function compareMaxToMin(value1, value2) { // 降序函数
return value2 - value1;
}
arr.sort(compareMaxToMin); // 传入比较函数
console.log(arr); // [15, 10, 5, 1, 0]
按照数组中对象的某一个属性值进行排序(常用)
var arr = [
{name:'aa',age:1},
{name:'dd',age:12},
{name:'bb',age:8},
{name:'bb',age:8}
];
function compare(property){
return function(a,b){
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
}
console.log(arr.sort(compare('age')))
/*
{name:'aa',age:1},
{name:'bb',age:8},
{name:'bb',age:8}
{name:'dd',age:12},
*/
数组元素按首字母排序
先把想排列的元素全部转变统一的大小写
let aa = ["Apple","Orange","Banana"]
let bb = aa.join(",").toLowerCase().split(",")
bb.sort()
console.log(bb)
// ["apple", "banana", "orange"]
7.reverse()
reverse()方法用于颠倒数组中元素的顺序。