JavaScript数组

这篇博客详细介绍了JavaScript数组的创建、数组索引的概念、赋值与调用方式,以及如何遍历数组。还讨论了数组对象的属性和方法,特别是多维数组的处理,并提供了使用for-in循环操作数组和对象的示例。最后提到了ES5中新增的一些数组方法,如indexOf、forEach、map和filter。
摘要由CSDN通过智能技术生成

数组

数组就是一系列有序数据的集合

1、数组中每个值,称之为一个“数组元素”;

2、数组元素可以是任意类型的数据(数字、字符串、对象)

创建数组
1、使用new关键字和Array()来创建一个数组(了解)

构造函数方式
var arr = new Array(元素1,元素2,元素3,.....,元素N);

例:创建一个包含五个元素的数组

var arr1  =  new Array('乌蝇哥',32,'man','china','打我呀打我呀');

2、使用中括号[]来创建数组

字面量形式
var arr = [元素1,元素2,元素3,...,元素N];`

例:创建数组有五个元素

// 元素之间使用','隔开
var arr2 = ['梁非凡',28,'man,'china','下属不可以啵上司嘴'];
注意
1、new 和 Array关键字,Array 首字母大写
2、数组元素可以写多个,多个之间用逗号隔开“,”
3、var arr = new Array[]; 错误的写法

数组索引

1、数组每个元素都对应一个“编码”,通过这个“编号”可以获取指定元素的值.
2、数组元素对应的“编号”,通常称之为“数组下标”或“数组索引”.
3、数组元素下标从0开始.

数组的赋值方式及调用方式
调用
直接使用数组名+下标的方式调用
赋值
1.静态赋值:直接使用指定的值给指定位置的数组

       arr[0] = 1;
       arr[1] = "嘿,靓仔";

2.动态赋值:在程序运行过程中,创建具体的值给元素赋值

    var name='张三';
    var age =18;
    arr[0] = name;
    arr[1] = age;

遍历数组
指对一个数组中的所有数据进行操作
例:求出一个数组的和

var sum =0;
for(var i=0;i<arr.length;i++){
  // 循环输出所有的元素
  //让数组的每一个元素相加
              sum+=arr[i];
  }
console.log(sum);

数组对象中的属性和方法

在JavaScript中,数组是一种对象,带有自己的方法和属性,下面列举一些常用的方法
属性名描述
length获取数组元素长度,如:arr.length 注:最大下标值,数组长度-1
方法名描述
arr.slice(start,end)分割数组,返回arr中start到end之间的元素
arr.join(str);将数组划分为字符串,数组元素以str分隔(默认是逗号)
arr.sort();给数组排序,先数字后英文再中文
arr.reverse();ruiwosi反转数组元素
arr.concat();合并数组,可以是多个,多个之间用逗号隔开“,”
arr.push(data);给arr数组最后添加一个data元素,返回新数组的长度
arr.pop();弹出arr数组最后一个元素,返回弹出的元素值
arr.shift()弹出arr数组第一个元素,并反弹出的元素值
arr.unshift(data);给arr数组最前面添加一个data元素,返回新数组的长度
注意各种方法的返回值及注意该方法是否会改变原数组

多维数组
数组中的元素依然可以是数组,我们称这样的数组为多维数组,一般情况只会使用2层或3层,例如:

var arr = [
元素1,
[元素1,元素2,元素3],
元素3,
元素4
]

多维数组的赋值方式及调用方式

// 创建一个二维数组
var arr = [
	1,
	["嘿嘿",2,3,4,5],
	[8,2,3,4,5],
	4,
	5
];
//取出二维数组的“嘿嘿”
var a = arr[1][0];

for-in循环

    在使用for遍历数组的过程中,需要至少确定数组的长度,以判断遍历的次数
    但如果遇到数组的元素个数不确定的情况,就不适合使用for循环遍历了

解决办法:

新的遍历方式:for-in循环

例1: 使用for-in循环数组

  // n表示是数组的索引
    var arr = [1,1,2,3,5,8,13,21,34];
    for(var n in arr){
        console.log(arr[n]);
    }

例2:使用for-in循环对象

    for-in循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
    var obj = {
        name:"lz",
        age:36
    }
    for(var i in obj){
        console.log(obj[i]);
    }

在ES5中增加了新的对象方法,下面列出一些新的常用方法
1、indexOf

//arr.indexOf(item,start);
//item必须。查找的元素。start可选的整数参数。规定在数组中开始检索的位置
var arr = ["a","b","c","d","e"];
arr.indexOf("a");      

2、forEach

//array.forEach(function(currentValue, index, arr));
// currentValue: 必需。当前元素. index:可选。当前元素的索引值。arr:可选。当前元素所属的数组对象。
//遍历数组
var arr = ["a","b",255,512,"hello"];
var a = arr.forEach(function(value,index){
		console.log(value);
		console.log(index);
	})
console.log(a);

3、map

//array.map(function(currentValue,index,arr))
// map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,方法按照原始数组元素顺序依次处理元素。 输入参数和forEach相似,但是map会返回一个新数组。
//例:将arr2 = [4,5,6,7,8]乘以1.3后返回
var arr2 = [4,5,6,7,8]
var b = arr2.map(function(value,index){
		return value+value*0.3;
	})
console.log(arr2)
console.log(b)

4、filter

//array.filter(function(currentValue,index,arr))
// filter() 方法创建一个新的数组,是将函数执行一遍,只有在布尔值为true的时候才会返回该数据, 输入参数和forEach相似。
//例:返回 arr2 = [4,5,6,7,8]大于5的数据
var c = arr2.filter(function(value,index){
		return value <= 5
	})
console.log(c)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值