javascript数组介绍及操作数组的方法
一、数组:
一组数据的集合;
二、JS中数组的特点:
1、数组定义时无需指定数据类型;
2、数组定义时可以无需指定数组长度;
3、数组可以存储任何类型的数据;
4、一般是相同的数据类型;
三、数组的创建方式:
var arr=[值1,值2,值3]; //字面量定义
var arr = new Array (值1,值2,值3); //构造函数创建
var array =new Array(size); //创建数组并指定长度
四、数组的操作:
数组语法: 数组名.方法
1、push() 向数组末尾添加新的数组项,返回值新数组的长度,原数组改变;
var arr=[1,2,3,4,5];
arr.push([6]);
2、pop() 删除数组最后一项,没有参数,返回值删除项,原数组改变;
var arr=[1,2,3,4,5];
arr.pop();
3、unshift() 向数组开头位置添加,返回值是新数组的长度,原数组改变;
var arr = [1,2,3]; //长度为3
var item = arr.unshift('开头'); //长度为 4
4、shift() 删除数组第一项,没有参数,返回值删除项,原数组改变;
var arr = [1,2,3];
var item = arr.shift();
alert(item);//返回1
5、splice(n,m) 从索引n开始,删除m个,返回值以数组的形式返回删除项(没有m的话,删除到最后);
var a = [1, 2, 3, 4, 5, 6, 7];
var item = a.splice(0, 3); // [1,2,3]
console.log(a); // [4,5,6,7]
splice(0) 原数组清空,返回一个和原来一样的新数组;
splice(n,m,z) 从索引n开始,删除m个,把z添加到删除的位置;
6、slice(n,m) 从索引n开始,查找到索引m处,不包含m,将查找到的以新数组返回,原数组不变;
7、concat 数组的拼接,不改变数组,返回最终连接好的新数组;
<script type="text/javascript">
var a = [1, 2, 3];
var b = [4, 5, 6];
//连接两个数组
var newVal = a.concat(b);
console.log(newVal); // [1,2,3,4,5,6]
// 连接三个数组
var c = [7, 8, 9]
var newVal2 = a.concat(b, c); // [1,2,3,4,5,6,7,8,9]
console.log(newVal2); // [1,2,3,4,5,6,7,8,9]
// 添加元素
var newVal3 = a.concat('添加元素', b, c, '再加一个');
console.log(newVal3);
// [1,2,3,"添加元素",4,5,6,7,8,9,"再加一个"]
// 合并嵌套数组 会浅拷贝嵌套数组
var d = [1, 2];
var f = [3, [4]];
var newVal4 = d.concat(f); // [1,2,3,[4]]
console.log(newVal4);//[1, 2, 3, Array(1)]
</script>
8、indexOf():判断一个数在某个数组中是否存在,如果存在返回这个数在数组的位置,不存在返回-1;
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
alert(a);//返回查找元素索引 返回 2
9、filter 过滤 按照某个条件过滤,返回过滤后的数组;
10、reverse() 翻转数组中元素的顺序
var a = [1,2,3];
a.reverse();
console.log(a); // [3,2,1]