数组
1.递归
递归:函数内部,直接或者间接调用函数自己。
递归一定要有内部,不然就是死循环。
return 除了返回一个结果,终止函数的执行。
break:用于终止循环。
2.对象
万事万物皆对象,对象是一组无序的相关属性和方法的集合。
对象有属性和方法
属性:静态的描述信息:身高,体重,年龄…
方法:动态的行为:吃饭,学习,睡觉…
for in循环遍历对象
obj 代表的是整个对象
for(var k in obj){
// console.log(k); // 键
// console.log(obj[k]); // 值
console.log(k,obj[k])
3.数组的概念
1.数组:一组数据的有序的集合(可以存储任意数据类型的值)
数组的元素的个数可以通过arr.length来获取
细节:
1.数组的元素是从编号为0的元素开始的,最后一号元素是arr.length - 1 = 总个数 - 1.
4.数组定义的几种方式
1.字面法
var arr = [12,34,2,34,1,2,3]
console.log(arr);
2.构造函数的方式
`var arr 1= new Array(12,34,1,43,12,3)
console.log(arr1)
5.访问(获取)
var arr = [12,23,34,14]
// console.log(arr[0]);
// console.log(arr[1]);
// console.log(arr[2]);
// console.log(arr[3]);
// console.log(arr[4]);
6.二维数组
for(var i = 0; i < arr.length; i++){
// 内层循环控制每行的个数
for(var j = 0;j <arr[i].length; j++){
document.write(arr[i][j]+'');
}
document.write('<br/>'
}
7.数组增删元素
Array: 对象 JS内置对象:提供了很多很多的方法供我们使用
Array对象:属性和方法
属性:length
方法:push() 尾部追加 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。
// arr.push(参数1,参数2)
// var arr = [1,2,3];
// arr.push(4); // 追加元素
// console.log(arr); //追加完毕的结果
pop() 尾部删除 方法从数组中删除最后一个元素,并返回该元素的值
// var arr = [1,2,3,4,5];
// //console.log(arr.pop()); //打印的是返回的元素
// arr.pop();
// arr.pop();
// console.log(arr);
shift()头部删除,方法从数组中删除第一个元素,并返回该元素的值
// var arr = [1, 2, 3, 4, 5];
// // console.log(arr.shift()); //返回的是删除的元素
// arr.shift();
// arr.shift();
// console.log(arr);
unshift() 头部添加,方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)
// var arr = [1, 2, 3, 4];
// arr.push(5);
// arr.unshift(0);
// console.log(arr);
sort() 排序(数字) 可以从小到大进行排列 可以从大到小进行排列
// 语法: arr.sort(function(a,b){return a-b;})
// var arr = [12, 3, 52, 6, 78, 9];
// arr.sort(function (a, b) {
// return a - b;
// })
reverse() : 反转 数组中的元素
var arr = [12,32,34,21,4];
// arr.reverse();
// console.log(arr);
8.数组转字符串
arr:Array(数组对象)–>对象
1.pop() 删除尾部的1个元素,并返回删除的元素
…) 尾部追加1个或者多个元素,并返回新数组的长度
2.shift() 删除头部的1个元素,并返回删除的元素
头部追加1个或者多个元素,并返回新数组的长度
3.sort( function(a,b){ return a-b } ) 数组元素排序
数组的元素的反转
4.join(’-’) 将数组元素以 - 的形式拼接成字符串,返回的是拼接好的字符串
5.indexOf() 返回元素首次出现的下标(索引)位置,找不到了返回的是-1
6.lastIndexOf() 从后往前进行查找
String(字符串对象)
Date(日期对象)
Math(数学对象)
RegExp(正则对象)
var arr =[‘张三’,‘李四’,‘王五’,‘张三’,‘李四’];
// typeof 检测基本数据类型
console.log(typeof arr); // object
console.log(typeof null); //object
// instanceof 检测是什么类型(复杂数据类型)
console.log(arr instanceof Array); // 检测是否为数组类型,返回true代表是数组,返回false不是数组
9.数组去重
需求:将数组中重复的元素去掉,留下不重复的元素
var arr = [1, 2, 1, 3, 2];
var newarr = []
原理:在新数组中查找 遍历过来的元素,找不到的就放到新数组中