数组的添加和删除
push
- 语法 arr.push(items)
- 作用:在数组的末尾添加一个或者多个元素 返回当前数组的长度
pop
- 语法:arr.pop()
- 作用:在数组的末尾删除一个元素 返回被删除的元素
unshift
- 语法:arr.unshift(items)
- 作用:在数组的头部添加一个或者多个元素 返回当前数组的长度
shift
- 语法:arr.shift()
- 作用:在数组的头部删除一个元素 返回被删除的元素
// 1.push
var arr = [1,true,false,"空字符串"];
var len = arr.push("快吃饭了");
console.log(arr);//[1, true, false, '空字符串', '快吃饭了']
console.log(len);//5
// push多个数据之间用逗号隔开 可以追加任意数据类型
arr.push("1","2",["哈哈","嘿嘿"])
console.log(arr);//[1, true, false, '空字符串', '快吃饭了', '1', '2', Array(2)]
// 2.pop
var arr = [1,true,false,"空字符串"];
var a = arr.pop();
console.log(arr);//[1,true,false]
console.log(a);// "空字符串"
// 3.unshift
var arr = [1,true,false,"空字符串"]
var len = arr.unshift(0);
console.log(arr);//[0,1,true,false,"空字符串"]
console.log(len);//5
arr.unshift(undefined,null,{});
console.log(arr);// [undefined,null,{},0,1,true,false,"空字符串"]
// 4.shift
var arr = [1,true,false,"空字符串"];
var a = arr.shift();
console.log(arr);//[true,fasle,"空字符串"]
console.log(a);//1
数组的其他方法
splice
- 语法 arr.splice(sart,deleteCount,items)
- 作用 删除数组中一串连续的数组元素 被删除的元素会组成一个新的数组返回 使用items替换前面被删除的数组元素
- 参数
- start 必需 开始删除的下标位置
- deleteCount 可选值 删除的个数 默认是删除到末尾
- items 可选值 替换的内容
// 1.splice
// a.start参数
var arr = [1,true,false,null,"字符串"];
var a = arr.splice(3);
console.log(arr);//[1,true,false];
console.log(a);// [null "字符串"];
// b:start参数 deleteCount参数 删除
var arr = [1,true,false,null,"字符串"];
var a = arr.splice(3,1);
console.log(arr);// [1,true,false,"字符串"];
console.log(a); // [null]
// c.start参数 deleteCound参数 items替换的内容 替换
var arr = [1,true,false,null,"字符串"];
arr.splice(2,2,"这是替换的内容",1);
console.log(arr);//[1,true,"这是替换的内容",1,"字符串"]
// d.添加功能
var arr = [1,3,4];
arr.splice(1,0,2);//从下标为1的位置开始删除 删除0个(相当于没有删除) 然后将数字2添加到该下标前面
console.log(arr);//[1,2,3,4]
indexof
- 语法:arr.indexof(searchValue,index)
- 作用:查找元素在数组中首次出现的位置 出现返回对应的下标 找不到返回-1
var arr = [1,2,3,4,5,6,1,2];
var index = arr.indexOf(1,2);
console.log(index);// 6
join
- str.split(分割标识) 将字符串根据分割标识分割成一个数组 字符串---数组
- arr.join(组合标识) 将数组按照组合标识组成字符串 数组--字符串
- 语法 arr.join(组合标识)
- 作用 将数组按照组合标识组成字符串
// 3.join
var arr = [1,2,3,4,5]; //
var a = arr.join("-");
console.log(a);// "1-2-3-4-5-6"
console.log(arr.join(""));//12345
console.log(arr.join(","));//1,2,3,4,5
console.log(arr.join(" "));//1 2 3 4 5
reverse
- 语法 arr.reverse()
- 作用 反转数组 将反转结果作为返回值返回
// 4.reverse
var arr = [1,true,false,null,"字符串"];;
var a = arr.reverse();
console.log(a);// ['字符串', null, false, true, 1]
console.log(arr);
concat
- 语法:arr.concat(items)
- 作用 将多个元素 数组组合成一个新的数组返回
// 5.concat 不会改变原数组
var arr = [1,2,3];
var a = arr.concat("4","5",["呵呵","哈哈"])
console.log(a);//[1, 2, 3, '4', '5', '呵呵', '哈哈']
console.log(arr); // [1,2,3]
slice
- 语法 arr.slice(start,end)
- 作用:截取数组中一串连续的元素组成一个新数组返回
// 6.slice 不会改变原数组
var arr = ['字符串', null, false, true, 1];
var a = arr.slice(0,2);
console.log(a);//["字符串","null"];
console.log(arr);//['字符串', null, false, true, 1]
数组排序
冒泡排序
- 冒泡排序的思路 两个相邻位置的数据进行比较
<script>
var arr = [6, 4, 9, 2, 7, 1];
for (var i = 0; i < 5; i++) {
// i=0 内层0-5
// i=1 内层0-4
// i=2 内层0-3
// i=3 内层0-2
// i=4 内层0-1
for (var j = 0; j < arr.length- 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
// 交换位置
var temp = arr[j];
arr[j] = arr[j + 1]
arr[j + 1] = temp;
}
}
}
console.log(arr);