6、JavaScript数组

数组基本知识

什么是数组? 一组数据的集合存储在单个变量中

为何创建数组:用来存放一组数据

ECMAscript数组和其他的区别是什么?:

​ 1、每一项都可以保存任何数据类型的数组

​ 2、数组大小可以动态调整

元素:数组里存储的一个数据就是一个元素

下标或索引特别注意:是从0开始的!!!

数组的长度:arr.length //获取数组长度 返回值 number

数组的特点

  • 数组里的元素是有顺序的
  • 数组可以存任何类型的值

new/字面量,创建数组

1、Array构造函数

语法:new Array()

**赋值:**通过:数组名[] = 值 进行赋值

var 数组名 = new Array(); 
var arr = new Array(); //创建一个新的空数组

var arr1 = new Array(2);//这个2 表示数字长度为2 里面有两个空的数组元素 
var arr1 = new Array(2 ,3 ) //等价域[2,3],这样写表示里面有两个数组元素,是2和3 
console.log(arr1) 

小括号说明:

​ (1)预先知道数组要保存的项目的数量 比如10个数组元素

​ (2)向Array构造函数中传递数组应该包含的项

​ 小括号内一个数值,表示数组的长度,多个表示每个项

2、 数组字面量表示法

**语法:**由一对包含数组项的方括号表示,多个数组项用逗号隔开

var 数组名 = []; 		//使用数组字面量创建空的数组 
var 数组名 = ['小白','小黑','小黄'];		//使用数组字面量创建带初始值的数组

var arr = [1 , 2 , 3]; 
console.log(arr[0]);

数组元素的读写

  • **访问数组:**数组名[索引]
  • 从0开始,依次往后,取不到返回undefined

数组的遍历

  • **遍历数组:**循环:for循环
  • for(i = 0 ; i<arr.length ; i++)

转换数组元素为字符串

先声明一个空字符串变量,使用字符串+任何值都为字符串的隐式转换,进行相加

数组新增元素

1、通过修改length长度以及增加索引号增加长度

var arr = ['red', 'green' ,'blue'] 
console.log(arr.length) 
arr.length = 5; //把我们的数组长度修改了为5 ,里面应该有五个元素

2、通过新增数组元素,修改length长度,新增数组元素修改索引号 追加数组元素

//新增数组元素,修改索引号 
var arr1 = ['red', 'green' ,'blue']; 
arr1[3] = 'pink'; console.log(arr1);

注意:

  • 可以通过length从数组的末尾移除项或者向数组添加项

​ arr.length = 3 ; 会截取第四项 ,不建议

  • ​ 把一个值放在超出当前数组大小的位置上,会重新计算数组长度,长度值等于最后一项索引加1

​ 数组的最后一个索引等于数组长度减一

3、使用内置对象增加数组**

  • arr.push(元素1,元素2) //添加到末尾 返回数组新长度
  • arr.unshift(元素1,元素2)//添加到开头 返回数组新长度

4、使用内置对象删除数组元素

  • arr.pop(元素1,元素2) //从末尾删除数组第一个元素 返回删除的值
  • arr.shift(元素1,元素2)//从开头删除第一个数组元素 返回删除的值

筛选数组放到新数组里面

//方法1 

var arr = [2,0,6,1,77,0,52,0,25,7]; 
var newArr = []; 
var j = 0; 
for(var i = 0 ; i<arr.length ;i++){  
	if(arr[i]>=10){    //新数组索引号应该从0开始,依次递增    
		newArr[j] = arr[i];    
        j++;
 	} 
} console.log(newArr);
//方法2 

var arr = [2,0,6,1,77,0,52,0,25,7]; 
var newArr = []; //刚开始newArr.length就是0 
	for(var i = 0 ; i<arr.length ;i++){  
        if(arr[i]>=10){    
            //新数组从0开始,依次递增    
            newArr[newArr.length] = arr[i];  
        } 
    }

翻转数组

//将数组['red','green','blue','pink','purple'];
//1、声明一个新数组newArr
//2、把旧数组索引号第四个取过来(arr.length - 1),给新数组索引号第0格元素(newArr.length)
//3、我们采取递减的方式 i--

var arr = ['red','green','blue','pink','purple']; 
var newArr = []; 
for(var i = arr.length-1 ; i>=0 ;i--){
    newArr[newArr.length] = arr[i] 
} console.log(newArr);

冒泡排序

//冒泡排序 

var arr = [5,4,3,2,1,] 
for(var i =0 ;i <arr.length <i++){  
    for(var j = 0; j<=arr.length-1-i ;j++){
        if(arr[i]> arr[j+1]){
            var temp = arr[j+1];      
            arr[j] = arr[j+1];      
            arr[j+1] = temp;    
        }  
    } 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值