day06(自定义对象;数组的概念、创建、索引、数组的常用方法)

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]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值