数组Array

1.数组也是对象的一种(内建对象),主要用来存储一些数据。
2.普通对象是通过字符串作为属性名,而数组是使用数字作为索引来操作元素。
3. 数组中的元素可以使任意的数据类型,包括对象和函数。
4. 使用typeof检查数组的数据类型,结果返回object。

  • 创建数组对象

方式

语法

使用构造函数

var 数组名=new Array(值1,值2…值n);

使用字面量

var 数组名=[值1,值2…值n];

  • 操作数组对象
    读取:数组[索引]
    添加:数组[索引]=值;

索引是从0开始的整数

  • 操作数组长度
    读取:数组.length
    修改:数组.length=xx;

使用length属性来获取数组的长度(元素的个数),等于数据的最大索引值+1
tips:向数组的最后一个位置添加元素的方法: 数组[数组.length]=值;
修改的length多于原长度,则多余的为空值;少于的话,则会将多余的值删除掉

数组Array的方法

以下介绍数组中常用的方法:

方法

语法

作用

返回值

filter()

数组.filter()

过滤数组,传递一个回调函数

满足回调函数的值组成的新的数组,原数组不变

some()

数组.some()

判断数组,传递一个回调函数;有一项满足则整体返回true

true/false,原数组不变

every()

数组.every()

判断数组,传递一个回调函数;有一项不满足则整体返回false

true/false,原数组不变

indexOf()

数组.indexOf(value,formIndex)

查找数组项,可指定第二个参数指定开始查找的索引位置

第一次出现时的索引或-1(未找到),原数组不变

lastIndexOf()

数组.lastIndexOf(value,fromIndex)

与indexOf()类似,只是从后往前找

第一次出现时的索引或-1(未找到),原数组不变;原数组不变

push()

数组.push(元素1,…)

向数组的末尾添加一个或多个元素

数组的新的长度,原数组改变

pop()

数组.pop()

删除数组的最后一个元素

被删除的元素,原数组改变

unshift()

数组.unshift(元素1,…)

向数组的开头添加一个或多个元素

数组的新的长度,原数组改变

shift()

数组.shift(元素1,…)

删除数组的第一个元素

被删除的元素,原数组改变

slice()

数组.slice(索引1,索引2)

从数组中返回指定的元素 索引1(包括)索引2(不包括)

截取到的元素封装到新的数组中返回,原数组不改变

splice()

数组.splice(索引1,数量,元素1,…)

删除数组中指定的元素 索引1(包括),并在开始位置索引前插入一些新的元素(可不添加)

被删除的元素封装到新的数组中返回,原数组改变

concat()

数组.concat(数组1,数组2,…)

连接两个或多个数组

新的数组,原数组不改变

join()

数组.join(字符串)

将数组转换为字符串;括号中的字符串为连接符,默认为逗号

转换后的字符串,原数组不改变

reverse()

数组.reverse()

反转数组

新的数组,原数组改变

sort()

数组.sort()

对数组中的元素进行排序, 默认按照unicode编码

新的数组,原数组改变

补充:

javascript 数组也是对象 javascript数组对象常用方法_字符串

数组Array的遍历

遍历数组,即将数组中所有的元素取出。

  • 使用for循环
for(var i=0;i<arr.length;i++){
console.log(arr[i]);
}
  • 使用forEach()方法
    需要一个函数作为参数;函数由我们创建但不是由我们调用,称为回调函数。
    数组中有几个元素函数就会执行几次,每次执行时,浏览器会将遍历到的元素以实参的形式传入。

*浏览器在回调函数中会传递三个参数:
第一个参数,就是当前正在遍历的元素value
第二个参数,就是当前正在遍历的元素的索引index
第三个参数,就是正在遍历的数组
可以只传递1个或2个参数,但是会按顺序传递。

var arr=[2,'hr',3];
        arr.forEach(function(value,index){
            console.log(index);
            console.log(value);
        })
  • 使用map()方法
    需要一个回调函数作为参数,返回回调返回值组成的新数组。
    回调函数中的参数与forEach()相同
var obj=[1,2,3,4]
var =obj.map(function(item){
return item*item;
});
console.log(arr); //[1,4,9,16]