// push: 从末尾增
// 功能:从数组的末尾增加一个或者多个
// 参数:增加的元素
// 返回值:返回加入元素后数组的新长度
var arr1 = [1, 2, 3, 4];
var result1 = arr1.push(5, [6], { 7: 7 });
console.log(result1); // --> 7
console.log(arr1); // --> (7) [1, 2, 3, 4, 5, Array(1), {…}]
// pop: 从末尾删
// 功能:从数组的末尾删除一个
// 参数:无
// 返回值:返回删除的那一个元素
var arr2 = [1, 2, 3, 4];
var result2 = arr2.pop();
console.log(result2); // --> 4
console.log(arr2); // --> (3) [1, 2, 3]
// unshift: 从头部增
// 功能:从数组的头部增加一个或者多个
// 参数:增加的元素
// 返回值:返回加入元素后数组的新长度
var arr3 = [1, 2, 3, 4];
var result3 = arr3.unshift(0);
console.log(result3); // --> 5
console.log(arr3); // --> (5) [0, 1, 2, 3, 4]
// shift: 从头部删
// 功能:从数组的头部删除一个
// 参数:无
// 返回值:返回删除的那一个元素
var arr4 = [1, 2, 3, 4];
var result4 = arr4.shift();
console.log(result4); // --> 1
console.log(arr4); // --> (3) [2, 3, 4]
// splice: 增删改一体化
// 功能:从数组的任意位置删除任意个元素
// 参数:两个 第一个代表从哪开始,第二个代表删除几个
// 返回值:返回删除的元素组成的新数组
var arr5 = [1, 2, 3, 4];
var result5 = arr5.splice(2);
console.log("result", result5);
console.log("arr", arr5); //只有一个参数,参数为几,保留几个参数,后面全部删掉,返回值为删除元素组成的新数组
var arr6 = [1, 2, 3, 4];
var result6 = arr6.splice(1, 2);
console.log(result6);
console.log(arr6); //有两个参数,第一个代表从哪开始,第二个代表删除几个,第一个参数为几,从第几个参数开始,后面的参数删除几个
var arr7 = [1, 2, 3, 4];
var result7 = arr7.splice(1, 1, 9, 5);
console.log(result7);
console.log(arr7); //有三个参数,第一个代表从哪开始,第二个代表删除几个,第三个代表要添加的参数,第一个参数为几,从第几个参数开始,后面的参数删除几个,第三个参数元素直接添加进这个位置
// reserve: 翻转数组
//功能:翻转数组
//参数:无
//返回值:返回翻转后的原数组
var arr8 = [1, 2, 3, 4];
console.log(arr8);
var result8 = arr8.reverse();
console.log(result8);
console.log(arr8);
console.log(result8 == arr8);
// sort 排序
// 功能:对数组进行排序
// 参数:如果不写,默认把每个元素转化为字符串进行排序(按照Unicode码)
// 如果要按照升序降序去排,需要传一个参数是函数
// 这个函数有两个形参
// 返回值:排好序的原数组
var arr9 = [18, 2, 10, 9, 88, 66, 22];
console.log(arr9);
var result9 = arr9.sort(function (a, b) {
return b - a;
});
console.log(result9);
console.log(arr9);
console.log(result9 === arr9);