JavaScript数组对象及常用方法

1.1 array数组

array数组:是一个可以存储"一组或是一系列相关数据的"容器。为什么要使用数组。解决大量相关数据的存储和使用的问题。便于程序的开发和维护。

注意:javascript数组可以存储“任何类型的"值。

1.1 声明数组

声明(创建)数组array

1.隐形声明的方式创建数组  

变量=[ ];

 //1.隐形声明的方式
//先声明,后赋值
var arr=[];
arr[0]='小马';
arr[1]='小余';
console.log(arr);

预览:

2.通过对象来 创建数组  

new Array();  

1.直接赋值  var a=new Array(元素1,元素2,元素3..)  

2.声明以后再赋

//2.通过对象来 创建数组
var arr=new Array()
//先声明,后赋值
arr[0]='小马';
arr[1]='小余';
arr[3]=' ';
console.log(arr);

//直接声明并赋值
var arr2=['小许','小杨','小王']
console.log(arr2);


//3.ES6中Array.of
var arr=Array.of('100','200','300')
console.log(arr);

 预览:

1.2 访问(操作)数组

通过数组的(中括号)下标访问。数组下标从0开始,他的最大值,是数组的长度length属性减一。

数组长度length:数组的length属性表示数组的长度。

 // 访问数组(操作数组)
// 通过 下标 去访问数组。
// 1.下标是 从 0 开始的 正整数。 

let arr1=[100,200,300]
console.log(arr[1]);
//输出200


//向数组中压入内容
arr1[3]=400;
console.log(arr1);

//数组长度的获取
console.log(arr1.length);
//4

//数组中下标的最大值 ---length-1
let max=arr1.lenght-1;
console.log(max);
//3

 预览:

1.3 遍历数组

for遍历数组

{
let arr1=[100,200,300]
for(let i=0;i<=length-1;i++){
console.log(arr1[]);


}



}

 预览:

forEach遍历数组

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

语法:

array.forEach(function(currentValue, index, arr), thisValue)

 遍历一维数组

//2.forEach()遍历数组
let arr1=[100,200,300]
arr1.forEach((item,index)=>{
console.log(item,index);

})

预览:

遍历数组对象

//数组对象
var data = [
    {
        title:'墨迹天气',
        count:'下载5.6亿次'
    },
    {
        title:'最美天气',
        count:'下载2.6亿次'
    },
    {
        title:'滴滴出行',
        count:'下载11.2亿次'
    },
    {
        title:'T3',
        count:'下载2.4亿次'
    },                {
        title:'曹操出行',
        count:'下载1.2亿次'
    }
];
//遍历数组对象
data.forEach((item,index)=>{
    console.log(index);
    console.log(item.title,item.count);
   
   
})

 预览:

1.4 数组的维度

A.一维数组

// 一维数组
var a = [1,2,3]
console.log(a)
// 访问一维数组中的内容
var r1 = a[0]
console.log(r1)

 预览:

B.二维数组:数组中数组

注意:数组中只要有一个内容是一维数组,那么这个数组就是二维数组

  声明二维数组:

  let arr =[[1,2],50,[1,5,6,9],8,12];
            console.log(arr);
            //6
            console.log(arr[2][2]);
            //9
            console.log(arr[2][3]);

 预览:

C.多维数组:数组中数组中的数组

// 多维数组
        var c = [[1,2,[3,4]],'小红','小李',[100,200,[300,600],[400,200]]]
        //获取输出 小李
        console.log(c[2]);
        //获取输出 600
        console.log(c[3][2][1]);

 预览:

1.5 数组对象

var a = new Array(1, 2, 3, 4);
            var b = [100, 200, 300, 400, 500, 600, 700];
            console.log(a, b);
            console.log(typeof a, typeof b);

 预览:

获取 数组对象的属性,写法------ 对象名.属性

1.5.1 数组对象的属性

数组长度length

  var a=b.length;
  console.log(a);
  //输出7

 

1.5.2 数组对象的方法

获取 数组对象的方法,写法------ 对象名.方法名([实参1,实参2,...])

(1) 检索“值” 的索引值 - indexOf() 查找位置

(2) 数组的末尾添加新的元素 - push()  压入

(3) 在数组的开头添加新元素 - unshift()

(4) 删除数组的最后一个元素 - pop() 弹出

(5) 删除数组的第一个元素 - shift()

(6) 转换数组到字符串 -toString()  把数组 变成 字符串

(7) 用数组的元素组成字符串 - join() 串联

(8) 从一个数组中选择元素 - slice() 切片,划分

(9) 数组中万能的删除和添加 - splice()  铰接,粘接

(10) 将一个数组中的元素的顺序反转排序 - reverse()

(11) 合并数组 - concat() 连接

(12) 用于对数组的元素进行排序 - sort() 排序

1、indexOf() 检索“值” 的索引值(1). 检索的“值”,在数组中,返回 当前这个值所在位置的索引

indexOf() 方法可返回数组中某个指定的元素位置。

该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。

如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。

var a=['晚上','上午','下午']
            //检索'上午'这个值的索引值
            var i=a.indexOf('上午')
            console.log(i);
            //输出1

(2). 检索的“值”,不在数组中, 返回 -1

 var index =a.indexOf('晌午');
           
            if(a.indexOf('晌午')==-1){
                console.log('你检索的内容不存在');
               
           
        }

预览:

2、push() 数组的末尾添加新的元素

(1).  向数组中一个一个添加元素

var a=['小马']
a.push('小余')
a.push('小天')
console.log(a);

 预览:

(2). 向数组中添加一组元素

var a=['小马','小余','小天']
var c=['小胡','小王','小红']
    //遍历把c数组中的内容压入到a数组中
 for(var i=0;i<=c.length-1;i++){
 a.push(c[i])
 }
 console.log(a);

 预览:

3、unshift()在数组的开头添加新元素

var a=['小马','小余','小天','小胡','小王','小红']
a.unshift('小孙')
console.log(a)

 预览:

4、pop()删除数组的最后一个元素

var a=['小孙','小马','小余','小天','小胡','小王','小红']
a.pop()
console.log(a)

 预览:

5、shift()删除数组的第一个元素

var a=['小孙','小马','小余','小天','小胡','小王','小红','小王']
a.shift();
console.log(a)

 预览:

6、toString()将数组 转 字符串

toString()转换数组到字符串(把数组 变成 字符串)

  var a = ['小杨','小王','小吴']
        var str=a.toString()
        console.log(str, typeof str);

 预览:

7、join() 将数组 转 字符串

join()用数组的元素 组成 字符串, 返回给我们一个字符串

 var b = ['小杨','小王','小吴']
        var s=b.join()
        console.log(s, typeof(s));

 预览:

8、slice() 提取元素

slice() 从一个数组中选择元素(提取元素、筛选元素)---从已有的数组中返回选定的元素。

slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。

start 参数字符串中第一个字符位置为 0, 第二个字符位置为 1, 

以此类推,

如果是负数表示从尾部截取多少个字符串,

slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。

end 参数如果为负数,-1 指字符串的最后一个字符的位置,-2 指倒数第二个字符,以此类推。

(1). 如果写 1个参数,使用方法如下:

var a=[100, 200, 300, 400, 500, 600, 700]
console.log('原数组是:'+a)
var res=a.slice(2)
console.log('提取的元素是'+res)

 预览:

 (2). 如果写 2个参数,使用方法如下:

var a=[100, 200, 300, 400, 500, 600, 700]
console.log('原数组是:'+a)
 var res=a.slice(2,5)
 console.log('提取的元素是:'+res);

 预览:

 (3).slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素),使用方法如下:

 var a = [100, 200, 300, 400, 500, 600, 700];
        console.log('原数组是:'+a);
       
        var res=a.slice(-2)
        console.log('提取的元素是:'+res);

        var a = [100, 200, 300, 400, 500, 600, 700];
        console.log('原数组是:'+a);
       
        var res=a.slice(-2,-1)
        console.log('提取的元素是:'+res);

 预览:

9、splice() 数组中万能的删除和添加

语法:

array.splice(index, howmany, item1, ....., itemX)

 

注意: 主要看第二个参数,第二个参数是0表示添加,第二个参数 是非0,表示删除

(1). splice()数组中添加新元素

第一个参数 1 表示 从哪开始元素操作元素,

第二个参数 0 表示 添加元素(添加的元素是什么,紧跟着写出来即可)

 var a = ['小明','小红','小杨'];
    console.log('原数组是:'+a);
    a.splice(1,0,'小白')
    console.log('添加元素后的数组是:'+a);

 预览:

(2). 删除数组中的元素,删除几个第一个参数 0 表示 从哪开始删元素,第二个参数 2 表示 删除几个元素

 var a = ['小明','小红','小杨'];
        console.log('原数组是:'+a);
         a.splice(0,2)
        console.log('删除元素后的数组是:'+a);

 预览:

(3). 先 删除 项目 ,再执行 添加 新项目 的操作

var f = ["Banana", "Orange", "Apple", "Mango"];
        console.log('原数组:'+f)
        //     第一个参数 2 表示 从哪开始删元素,
        //     第二个参数 1 表示 删除几个元素
       
        f.splice(2,1,'小马','小余');
        console.log('操作之后的数组是:'+f);

 预览:

10、reverse() 反转排序

reverse() 将一个数组中的元素的"顺序反转"排序

var a = [100,200,300,'小红','小天',400,500,600]
        console.log('原数组:'+a);
        a.reverse();
        console.log('操作之后的数组是:'+a);

 预览:

11、concat()合并数组

concat()合并数组 (将一个或多个数组合并成一个大数组!),返回给我们一个大数组

   var a = [1,2,3]
    var b = [100,200,300]
    var c = [800,900]
    console.log('原数组:'+c);
    var res=c.concat(a,b)
    console.log("合并后的数组:"+res);

 预览:

12、sort()数组排序

(1)对字母排序

  //  (1)对字母排序
    var f=['B','O','A','M']
    console.log('原数组:'+f);
    f.sort()
    console.log('排序后的数组:'+f);

 预览:

(2)对数字排序,我们需要写一个回调函数

var a=[20,6,9]
console.log('原数组:'+a);
//升序
a.sort((m,n)=>{
return m-n

})
console.log('排序后的数组:'+a);

 预览:

var a=[20,6,9]
console.log('原数组:'+a);
a.sort((m,n)=>{
return n-m
})
console.log('排序后的数组:'+a)
}

 预览:

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值