Array数组
构造函数创建数组
var arr = new Array();
字面量创建数组
var arr = [1,2,3]
获取数组中某一个值
arr[索引] 索引从0开始,索引最大值取到数组的长度减一
for...in...循环 也可循环对象
for(var key in arr){
console.log(key,arr[key])
}
数组中常用函数
push() 向数组末尾添加元素
unshift() 向数组前添加元素
pop() 删除并返回最后一个元素
shift() 删除并返回数组中第一个元素
sort() 数组排序 现将数组中的元素转换为字符串之后再进行升序
//默认升序 arr = arr_1.sort()
//箭头函数使用sort函数
arr.sort((small, big) => {
//升序
return small - big
//降序
return big - small
})
reverse() 反转数组
join(',') 将数组转换为字符串并用符号进行分割
split(',') 将字符串转换为数组
concat('john') 拼接元素 可拼接某个字符串 也可拼接数组
splice(0,2) 从指定位置删除指定长度的元素 能取到结束位置
slice(0,3) 复制并返回指定位置元素 取不到结束位置值
indexOf('a') 获取指定元素索引 当元素不存在 返回-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);
函数
定义函数
function 函数名(形参,可传可不传);
return 返回值,当调用函数时会显示该返回值;
function say(){
console.log("helloWorld!")
return "HelloWorld"
}
调用
函数名(实参); 可随意上下位置进行调用
赋值式创建函数
var eat = function(){
console.log("喜欢吃")
}
调用
函数名(),调用时必须放在声明函数后,如放在声明函数前调用则会报错
区别
声明式:可以先调用,再声明
赋值式:必须先定义再调用
传参
形参:形式上的参数,没有真实的值;
实参:实际的参数,具有真实的值,调用写实参;
//创建两个数相加函数
//function 函数名(形参1,形参2)
function sum(a,b){
return a+b;
}
//调用函数
//函数名(实参1,实参2)
sum(5,6);