数组在JavaScript中的应用十分之频繁,所以我做了一些笔记,方便以后看看
push()
定义和用法
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
注意: 新元素将添加在数组的末尾。
注意: 此方法改变数组的长度。
push()方法是在数组的末尾添加一个数,并返回修改数组后的长度
var arr=[1,2,3];
var arr1=arr.push(4);
alert(arr);//1,2,3,4
alert(arr1);//4 返回的length为4
pop()
pop()方法是在数组的末尾删除一个数,减少length的长度,并返回移除的项
var arr=[2,3,5];
var arr1=arr.pop();//5 返回移除的项
alert(arr);//2,3
alert(arr1);//5
shift()
shift()的作用是删除数组的第一项,并且返回被移除的数
var arr=[1,2,3];
var arr1=arr.shift();
alert(arr);//2,3 数组的第一项被移除
alert(arr1);//1 返回被删除的数
unshift()
unshift()是在数组的头部添加一项,返回的是数组的长度。
var arr = [1, 2, 3];
var arr1 = arr.unshift(4);
alert(arr); // 4,1,2,3 向数组的头部添加了一项
alert(arr1); //4 返回的是数组的length
sort()
定义和用法
sort() 方法用于对数组的元素进行排序。 排序顺序可以是字母或数字,并按升序或降序。 默认排序顺序为按字母升序。
注意:当数字是按字母顺序排列时”40”将排在”5”前面。 使用数字排序,你必须通过一个函数作为参数来调用。
函数指定数字是按照升序还是降序排列。
var arr=['t','a','b','h','j'];
var arr1=[45,12,3,7,67];
alert(arr.sort());//a,b,h,j,t //字母按顺序排序
alert(arr1.sort());//12,3,45,67,7 //数组按第一位大小进行排序
那么如何进行数字之间的排序呢?
var arr1 = [45, 12, 3, 7, 67];
var arr2 = arr1.sort(function(n1, n2) {
if(n1 < n2) {
return -1;
} else if(n1 > n2) {
return 1;
} else {
return 0;
}
});
alert(arr2);//3,7,12,45,67
还有一种更加简单的写法,既然返回的数是负数,0,正数,那么将两个数相减也可以得到同样的效果。
var arr1 = [45, 12, 3, 7, 67];
var arr2 = arr1.sort(function(n1, n2) {
return n1-n2;//如果n1<n2那么就返回负数,n1=n2就返回0,n1>n2便返回正数。
});
alert(arr2);//3,7,12,45,67
reverse()
reverse() 方法用于颠倒数组中元素的顺序。
var arr=[1,2,3,4,5];
alert(arr.reverse());//5,4,3,2,1
concat()
concat() 方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
var arr1=[1,2];
var arr2=[3];
var arr3=[4,5];
alert(arr1.concat(arr2,arr3));//1,2,3,4,5
slice()
slice() 方法可从已有的数组中返回选定的元素,这个方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
var arr=[1,2,3,4,5];
alert(arr.slice(2,4));//3,4
slice() 方法不会改变原始数组。
splice()
splice() 方法用于插入、删除或替换数组的元素,这个方法会改变原始数组。返回值是被移除的数。
var arr=[1,2,3,4,5];
arr.splice(2,2,8);//第一个参数是从这个位置开始移除,第二个参数是移除多少个,如果设置为0就是不移除,第三个参数就是要插入的数,也可以不填,就是不插入
alert(arr);//1,2,8,5
indexOf()和 lastIndexOf()
indexOf()用于查询数组里面的项,可以接收两个参数,第一个是要查询的项,第二个是从哪个位置开始查询(可选)
var arr=[1,2,3,4,5];
alert(arr.indexOf(3));//2 也就是3这个项目出现的位置是第2位,
lastIndexOf()就是从后往前找,和indexOf()差不多,都可以接收俩个参数
var arr=[1,2,3,4,5,6,7,8];
alert(arr.lastIndexOf(3));//2 从末尾开始查找
两个方法都会返回项的位置,如果找不到就会返回-1。
join(参数)
这个方法能把数组变成字符串,只接受一个参数或者不接受参数,也就是分隔符。
var arr=[2,3,4];
var arr1=arr.join('-');//参数要用括号包裹
var arr2=arr.join();//没有参数
alert(arr1);//2-3-4
alert(arr2);//2,3,4 这是一个字符串
aler(arr);//2,3,4 原数组不受影响,这是个数组。
以上是我学习的笔记,还有一些数组的原生方法没有补充,就先这样吧!