Array数组
构造函数创建数组
1.使用Array对象创建(var arr(名称) = new Array();)
2.使用字面量的方式(直接赋值)(var arr = [1, 2, 3, 4, 5])
获取数组中某一个值
arr[索引] 索引从0开始,索引最大值取到数组的长度减一
for...in...循环 也可循环对象
for(var key in arr){
console.log(key,arr[key])
}
数组中常用函数
- push():向数组末尾添加一个元素,返回数组长度
- unshift():向数组前面添加一个元素,返回数组长度
- pop():删除数组中最后一个元素,并返回
- shift():删除数组中最前面的一个元素,并返回
- sort():进行升序(注:先将数组中的所有元素转换成字符串之后再进行)
- reverse():倒序
- 如果想将字符串类型的数组进行降序排列:可以先用sort(),然后再使用reverse()进行倒序
- join():将数组以某个符号进行拼接,并返回一个字符串
- concat():将某个元素添加到数组末尾和push有点像
- splice():从指定位置删除指定长度的元素
- slice():复制从指定位置到结束位置的元素(注:取不到结束位置的元素)
- indexOf():获取指定元素的索引indexOf,如果没有则返回-1
代码
<script>
var arr = [15, 91, 46, 36, 87];
// 原始数据
document.write("原始数据: ");
document.write(arr + '<br/>');
// 数组末尾添加
arr.push(12);
// 数组开头添加
arr.unshift(10)
document.write("添加数据: ");
document.write(arr + '<br/>');
// 删除末尾一个数据
arr.pop();
// 删除开头一个数据
arr.shift()
document.write("删除开头和结尾添加的数据: ");
document.write(arr + '<br/>');
// 从小到大排序
arr.sort();
document.write("从小到大排序: ");
document.write(arr + '<br/>');
// 数组反转
arr.reverse();
document.write("数组反转: ");
document.write(arr + '<br/>');
// 将数组转换为字符串 用逗号隔开
arr = arr.join(',');
document.write("将数组转换为字符串 用逗号隔开: ");
document.write(arr + '<br/>');
// 将字符串转换为数组 根据逗号分隔
arr = arr.split(',');
document.write("将字符串转换为数组 根据逗号分隔: ");
document.write(arr + '<br/>');
// 截取字符串
var del = arr.splice(0, 2);
document.write("截取字符串<br/>");
// 删除后的数组
document.write("删除后的: ");
document.write(arr + '<br/>');
// 所删除的数据
document.write("所删除的数据: ");
document.write(del + '<br/>');
// 复制数据 对原数据没有影响
var fu = arr.slice(0, 2)
document.write("复制数据 对原数据没有影响: ");
document.write(arr + '<br/>');
document.write('所复制的数据: ' + fu + '<br/>');
// 获取索引
var inde = arr.indexOf('15');
document.write("获取15的索引: ");
document.write(inde + '<br/>');
</script>
效果图
清空数组
直接赋值为空 arr = [];
长度设为0 arr.length = 0;
删除数组中数据 splice(0,arr.length);
冒泡排序
var arr = [97, 64, 28, 34, 86, 46];
console.log(arr);
// 循环次数
for (var i = 0; i < arr.length - 1; i++) {
// 排序到最后之后 该值就不需要再进行比较了
for (var m = 0; m < arr.length - i - 1; m++) {
// 小到大
if (arr[m] > arr[m + 1]) {
// 普通换值
// var num = arr[m];
// arr[m] = arr[m + 1];
// arr[m + 1] = num
// 解构赋值
[arr[m], arr[m + 1]] = [arr[m + 1], arr[m]];
}
// 大到小
// if (arr[m] < arr[m + 1]) {
// 普通换值
// var num = arr[m];
// arr[m] = arr[m + 1];
// arr[m + 1] = num
// 解构赋值
// [arr[m], arr[m + 1]] = [arr[m + 1], arr[m]];
// }
}
}
console.log(arr);