数组的操作⽅法
1、数组的操作⽅法
数组的尾部操作:
push()向数组的尾部添加⼀个或多个的数据
pop()      将数组尾部的数据删除
数组头部操作:
unshift()向数组的头部添加⼀个或多个元素
shift()删除数组头部元素
数组中间数据操作(也适⽤于头尾部):可以实现添加、删除、替换操作
splice( start length )表⽰从start位置处删除指定length的数据  start:就是下标  length :长度
第⼀个值是start:添加或删除的起始位置
第⼆个值是0:添加
⾮0:删除,替换(先删除后添加)数字为删除的个数
第三个值(个数不固定):数据
上述五个⽅法都改变原数组
slice(start,end)截取从start位置到 end-1 位置处的数据返回截取后的数据
join(字符)将数组中的数据通过某个字符连接起来返回⼀个字符串
扩展⼩技巧:快速的计算数组中所有数据的和
eval(arr.join("+"));
reverse()  数组的反转返回的是反转后的数组(改变原数组)
2、数组中的排序⽅法sort()
⽤法:数组名.sort()
当没有参数时,默认是按照字符进⾏升序排序
如果想对数值进⾏排序,sort需要提供⼀个参数,该参数是⼀个匿名函数
⽤法:数组名.sort( function(a,b){
return  a -b;升序(a>b  a-b>0)    return  b-a;  降序(a<b  a-b<0)
})
3、数组的扩展⽅法
indexOf(参数)
判断某个数据在数组中是否存在,如果存在就返回数组的下标如果不存在就返回-1
数组.indexOf(num)
//indexOf( 参数 ) 判断某个数据在数组中是否存在如果存在就返回这个数在数组中的下标如果不存在就返回-1    function fnIndexOf() {
var arr = [1, 2, 3, 4, 5];
alert(arr.indexOf(2));
}
//fnIndexOf();
function noRepeat(arr) {indexof能用于数组吗
var brr = [];
for (var i = 0; i < arr.length; i++) {
//判断arr[i]在brr中是否存在
if (brr.indexOf(arr[i]) == -1) {//如果不存在
brr.push(arr[i]);
}
}
return brr;
}
//alert( noRepeat( [1,2,3,1,2,3] ) );
forEach()
遍历数组没有返回值
//forEach() 遍历数组没有返回值
function fnForEach() {
var arr = [11, 2, 32, 43, 5];
arr.forEach(function (item,index,arr) {
// item : 表⽰数组中的数据
// index : 表⽰下标
/
/ arr : 表⽰遍历的数组
console.log(item);
})
}
fnForEach();
//获取数组中的最⼩值
function getMin(arr) {
//shift() 删除数组头部元素返回值删除的元素
//假设数组中第⼀个数是最⼩的
var min = arr.shift();//arr[0]
arr.forEach(function (item) {
min = item < min ? item : min;
})
alert(min);
}
//getMin( [23,1,4,5,67,78] );
filter()
过滤返回满⾜某个条件的数组中的数据返回值是⼀个数组//filter() 过滤返回满⾜某个条件的数组中的数据返回值是⼀个数组    function fnFilter(arr) {
//brr⽤于接收filter的返回值
var brr = arr.filter(function (item) {
return item > 0;
})
return brr;
}
//alert( fnFilter( [12,-2,-3,-5,89,-9,78,6] ) );
map()
映射:遍历数组---操作数组---返回数组
返回值是⼀个数组
//map() 映射:遍历数组 ---操作数组---返回数组
function fnMap(arr) {
var brr = arr.map(function (item) {
return item * 1.3;//操作数组并将结果存⼊到⼀个新的数组中
})
return brr;
}
//alert( fnMap( [10,20,30,40,50] ) );
reduce()
归并返回最后⼀次操作的结果计算数组的和
第⼀个参数:前⼀个操作返回的结果,默认第⼀个为数组中的第⼀个数据第⼆个参数:下⼀个数除了数组中第⼀个数之外的所有数
//reduce() 归并返回最后⼀次操作的结果
function fnReduce() {
var arr = [11, 2, 3, 4, 5];
document.write("prev" + "-----" + "next<br>");
var res = duce(function (prev, next) {
//prev : 前⼀个操作返回的结果默认第⼀个为数组中的第⼀个数据
//next : 下⼀个数除了数组中第⼀个数之外的所有数
document.write(prev + "---" + next + "<br>");
return prev + next;
})
alert(res);
}
// fnReduce();

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。