1.自定义对象
对象:万事万物皆对象,对象是一系列属性与行为的结合。
定义对象
var tianIn = {}; //定义一个空的对象
var tianIn = {
name: "天音",
ID: 100548497,
eat(){
console.log('恰饭');
}
};
对象属性的增删改查
//增
tianIn.level = 148;
tianIn['level'] = 148;
//删
delete tianIn.level;
//改
tianIn.name = "是天音鸭";
//查,控制台查看
console.log(tianIn);
console.log(tianIn.name);
console.log(tianIn['name']);
2.认识数组
字面理解就是 数字的组合
其实不太准确,准确的来说数组是一个 数据的集合
也就是我们把一些数据放在一个盒子里面,按照顺序排
数组用来存储一组数据,一组数据的有序集合。
创建数组
//字面量法
var arr = [20,22,23,21,23,22,23];
=======================================
//构造函数法
var arr = new Array(20,22,23,21,23,22,23);
var arr = new Array(10);代表可以存储10个数据,内部没有一个数据,都是空的
=======================================
var arr = [20,22,23,21,23,22,23];
// var arr = new Array(20,22,23,21,23,22,23)
0 1 2 3 4 5 6
数组里可以通过索引(下标)来访问元素。(下标是从0开始,6结束)
一个一个打印
// console.log(arr[0]);
// console.log(arr[1]);
// console.log(arr[2]);
// console.log(arr[3]);
// console.log(arr[4]);
// console.log(arr[5]);
// console.log(arr[6]);
===================================
//如何获取元素的总个数?
console.log(arr.length);
数组的遍历
数组元素一个一个的找一遍
for(var i = 0; i <= arr.length-1; i++){
console.log(arr[i]);
}
数组的索引
索引,也叫做下标,是指一个数据在数组里面排在第几个的位置
注意: 在所有的语言里面,索引都是从 0 开始的
在 js 里面也一样,数组的索引从 0 开始
// 创建一个数组
var arr = ['hello', 'world']
上面这个数组中,第 0 个 数据就是字符串 hello ,第 1 个 数据就是字符串 world 想获取数组中的第几个就使用 数组[索引] 来获取
var arr = ['hello', 'world']
console.log(arr[0]) // hello
console.log(arr[1]) // world
二维数组(了解)
var arr1 = [[1, 2], [3, 4], [5, 6]];
console.log(arr1[0][0]);// 1
3.数组常用的方法(会改变原数组)
1.push( )
语法:arr.push(元素1, 元素2, 元素3, …);
含义:向arr数组尾部追加一个或者多个元素。
返回值:追加后的数组长度。
var arr = [1, 2, 3]
// 使用 push 方法追加一个元素在末尾
arr.push(4)
console.log(arr) // [1, 2, 3, 4]
2.pop( )
语法:arr.pop( );
含义:删除arr数组尾部的最后一个元素。
返回值:被删除的那个元素。
var arr = [1, 2, 3]
// 使用 pop 方法删除末尾的一个元素
var res=arr.pop();
console.log(res); // [3]
3.unshift( )
语法:arr.unshift(元素1, 元素2, 元素3, …);
含义:向arr数组头部追加一个或者多个元素。
返回值:追加后的素组长度。
var arr = [1, 2, 3]
// 使用 unshift 方法想数组的最前面添加一个元素
arr.unshift(4)
console.log(arr) // [4, 1, 2, 3]
4.shift( )
语法:arr.shift();
含义:删除数组arr中头部的第一个元素。
返回值:被删除的那个元素。
var arr = [1, 2, 3]
// 使用 shift 方法删除数组最前面的一个元素
var res=arr.shift()
console.log(res) // [1]
5.sort( )
语法:arr.sort(function(a,b){return a-b}) ;
含义:给arr进行排序。
返回值:排序后的数组。
var arr = [2, 3, 1]
// 使用 sort 方法给数组排序
arr.sort()
console.log(arr) // [1, 2, 3]
6.reverse( )
语法:arr.reverse();
含义:数组逆序(将数组的元素反过来)。
返回值:逆序后的数组。
var arr = [1, 2, 3]
// 使用 reverse 方法来反转数组
arr.reverse()
console.log(arr) // [3, 2, 1]
7.splice( )
splice 是截取数组中的某些内容,按照数组的索引来截取
语法: splice(从哪一个索引位置开始,截取多少个,替换的新元素) (第三个参数可以不写)
var arr = [1, 2, 3, 4, 5]
// 使用 splice 方法截取数组
arr.splice(1, 2)
console.log(arr) // [1, 4, 5]
arr.splice(1, 2) 表示从索引 1 开始截取 2 个内容
第三个参数没有写,就是没有新内容替换掉截取位
var arr = [1, 2, 3, 4, 5]
// 使用 splice 方法截取数组
arr.splice(1, 2, '我是新内容')
console.log(arr) // [1, '我是新内容', 4, 5]
arr.splice(1, 2, ‘我是新内容’) 表示从索引 1 开始截取 2 个内容
然后用第三个参数把截取完空出来的位置填充
4.数组常用的方法(不会改变原数组)
1.concat( )
语法:arr.concat(arr1);
含义:把arr和arr1拼接到一起,形成新数组。
返回值:拼接好的数组
例子:
var arr = [1,2,3]
var arr1 = [4,5,6]
var res = arr.concat(arr1)
console.log(res);//[1,2,3,4,5,6]
console.log(arr);//[1,2,3]
**2.join( )**★★★★★(常用)
语法:arr.join(‘符号’);
含义:将数组元素用符号拼接成一个字符串
返回值:拼接好的字符串
例子:
var arr = [23,32, 12, 34, 23, 32, 12, 12]
var res = arr.join('-')
console.log(res); // '12-34-23-32-12'
**3.indexOf( )**★★★★★(常用)
语法:arr.indexOf(元素);
含义:查找该元素首次出现的下标位置,找到就返回该下标,找不到返回-1
返回值:下标/-1
例子:
var arr=[23,22, 34, 23, 32, 12, 12]
var res = arr.lastIndexOf(32)
console.log(res);//5
4.lastIndexOf( )
语法:arr.lastIndexOf(元素);
含义:查找该元素最后一次出现的下标位置,找到就返回该下标,找不到返回-1
返回值:下标/-1
例子:
var arr=[23,32, 34, 23, 32, 12, 12]
var res = arr.lastIndexOf(32)
console.log(res);//4
5.slice( )
语法:arr.slice(开始下标,结束下标);
含义:从数组中切出来一个数组(包左不包右)
返回值:切出来的数组
var arr = [1,2,3,4,5]
var res = arr.slice(1,3) //这一行的意思是切下标为1和3,对应的就是2和4,但是包左不包右所以输出2,3
console.log(arr);// [1,2,3,4,5]
console.log(res); //[2,3]