数组元素的添加、删除、截取、合并、拷贝
1.将一个或多个新元素添加到数组结尾
var array = [1,2,3];
//再数组的尾部添加 追加
var res = array.push(5);
console.log(res);//追加后返回数组的长度
console.log(array);
2.将一个或多个新元素添加到数组头部
var array = [1,2,3];
// 再数组的头部添加
res = array.unshift(0);
console.log(res);//返回数组的长度
console.log(array);
3.删除数组第一位数据
var array = [1,2,3];
//删除数组第一位数据
res = array.shift();
console.log(res);//返回被删除的第一位值
console.log(array);
4.删除数组的最后一位
var array = [1,2,3];
//删除数组的最后一位
res = array.pop();
console.log(res);//返回被删除的最后一位值
console.log(array);
5.删除指定位数的元素
//插入元素到数组指定的位置
//第一个参数 从哪里开始
//第二个参数 删除元素的个数
//第三个参数 插入的新元素
//1.只写一个参数 会从指定开始的位置开始删除直到数组的末尾 以数组的形式返回删除的元素
//2.写两个参数 会从指定的位置 删除指定个数的元素 并以数组的形式返回
//3.写三个参数 从指定位置开始 删除指定的元素,并将新元素从指定开始的位置添加 返回删除的元素
var array = [1,2,3,4]
res = array.splice(1,2,10);
console.log(res);//返回的结果是 被删除的元素
console.log(array);
6.数组的截取
//数组的截取 不影响原数组
var array = [1,2,3];
res = array.slice(2,3);//2是截取起始位置 3是结束位置 但是3号位置不包括再内
console.log(res);
console.log(array);
数组的排序和翻转
反转元素(最前的排到最后、最后的排到最前),返回数组地址 arrayObj.reverse();
var array4 = [10,11,13,14]
array4.reverse();
console.log(array4)
对数组元素排序,返回数组地址 arrayObj.sort();
var array4 = [10,11,13,14,100,21]
console.log(array4)
array4.sort()
console.log(array4)
sort()默认的排列方式是按照字符的unicode码进行排列的,在排列数值的时候会出现问题,因此需要依赖一个比值函数function(a,b){return a-b}
var array4 = [10,11,13,14,100,21]
console.log(array4)
array4.sort(function(a,b){return a-b})
console.log(array4)
编写代码实现数组的排序
var array = [10,2,16,30,8]
console.log(array)
//冒泡排序法
for (let i = 0; i <array.length-1 ; i++) {
for (let j = 0; j <array.length-i-1 ; j++){
if(array[j]>array[j+1]){
var temp = array[j]
array[j] = array[j+1]
array[j+1] = temp
}
}
}
//选择排序
for (var i = 0; i < array.length-1; i++) {
var index = i;
for (var j = i+1; j < array.length ; j++) {
if(array[index]>array[j]){
index = j;
}
}
if(index!=i){
var temp = array[i];
array[i] = array[index];
array[index] = temp;
}
}