一、数组的方法
1.数组的创建
var arrayObj = new Array(); //创建一个数组
var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值
要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。
2.数组的元素的访问
var testGetArrValue=arrayObj[1]; //获取数组的元素值
arrayObj[1]= "这是新值"; //给数组元素赋予新的值
3.栈方法(LIFO Last-In-First-Out,后进先出 push pop)、队列方法(LIFOFirst-In-First-Out,先进先出 push shift)
这两个方法最为常见,具体就是 push() pop()为栈方法,shift() unshift()为队列方法。数组头尾部的压入和删除
元素入栈 元素出栈
var students = [];
students.push("bluce","jordan","marlon","kobe");//入栈4项
alert(students.length); //4
alert(students[0]); //"bluce",第一项在栈的底部
alert(students[1]); //"jordan"
students.push("paul");
alert(students.length); //5
var item = students.pop(); //"paul"
alert(students.length); //4
队列入队
队列出队
var students = [];
students.push("bluce","jordan","marlon","kobe");//入队4项
//students=["bluce","jordan","marlon","kobe"];
alert(students.length); //4
alert(students[0]); //"bluce",第一项在栈的底部
alert(students[1]); //"jordan"
students.push("paul");
alert(students.length); //5
//students=["bluce","jordan","marlon","kobe","paul"];
var item = students.shift(); //"bluce"
alert(students.length); //4
//students=["jordan","marlon","kobe","paul"];
4.重排序 reserve()和 sort()
reserve()是反转数组,而sort()是数组的重排序,默认为升序,sort()实现排序原理是会调用每个数组项的 toString()方法,比较得到的字符串。这个方法可能会出错,因为它比较的是转型后的字符串。
5.位置方法
有两个位置方法 indexOf() 和 lastIndexOf(),都接受两个参数,即要查找的项和查找起点的位置(该参数可选),只不过两个方法查找的顺序相反,indexOf()是从头到尾的,且两个方法都返回被查找的项在数组中的位置,若没找到返回-1,利用这点,我们可以用来进行数组的去重,
6.归并方法
reduce(), reduceRight()。这两个方法都会迭代数组项,并返回最终的值。
7.迭代方法
every 每一项都是true 返回true ,返回值 boolean
some 有一项是true 返回true,返回 boolean
filter 处理每一项,返回处理后的数组 (一般是过滤数据)
map 返回处理后的,每一项组成的数组
forEach、for 无返回值
二、方法总结
哪些数组方法会改变原数组:
unshift();
push();
shift();
pop();
sort();
reverse();
splice();
数组的方法总结
会改变原数组的方法
unshift();
push();
shift();
pop();
sort();
reverse();
splice();
参考:
https://www.cnblogs.com/fanghl/p/9383581.html
https://www.jb51.net/article/85176.htm
https://www.cnblogs.com/jiuxia/p/11509616.html
仅为个人学习所用,如有侵权,留言删除。
网友评论