美文网首页
数组的简单总结

数组的简单总结

作者: Hunter_Gu | 来源:发表于2016-12-20 15:00 被阅读10次

定义数组:

  • 构造函数
var arr1 = new Array(5);//长度为5的空数组
var arr2 = new Array(1,5);//[1,5]
  • 字面量
var arr1 = [];
var arr2 = [1,2,3,4];

数组的长度 arr.length

数组的方法:

  • 基本方法(添加,删除,修改)
var arr = [1,2,3];
arr[3] = 4;//添加
arr;//[1,2,3,4]
delete a[0];//删除
arr;//[undefined,2,3,4]
arr[1] = 5;//修改
arr;//[undefined,5,3,4]
  • 栈方法

  • pop()去掉数组中的最后一位元素,并返回该元素

var arr = [1,2,3,4];
arr.pop();//4
arr;//[1,2,3]
  • push(e)在数组的最后一位添加新元素,返回push后数组的长度
var arr = [1,2,3,4];
arr.push(5,6);//6
/*
arr[arr.length] = 5;
arr[arr.length] = 6;
*/
arr;//[1,2,3,4,5,6]
  • shift()去掉数组中的第一位元素,并返回该元素
var arr = [1,2,3,4];
arr.shift();//1
arr;//[2,3,4]
  • unshift(e)在数组的第一位添加新元素,返回unshift后数组的长度
var arr = [1,2,3,4];
arr.unshift(-1,0);//6
/*
arr[0] = 0;
arr[0] = -1;
*/
arr;//[-1,0,1,2,3,4]
  • splice(start,length,new)可以添加、删除、任何位置

  • 删除,返回被删除的元素的数组

var arr = [1,2,3,4,5];
arr.splice(1,3);//[2,3,4]
arr;//[1,5]
  • 添加,返回被删除的元素的数组
var arr = [1,2,3,4,5];
arr.splice(1,0,3);//[]
arr;//[1, 3, 2, 3, 4, 5]
  • join(s)把数组连成字符串,返回的是字符串。原数组不变
var arr = [1,2,3,4];
arr.join('-');//'1-2-3-4'
arr.join('');'1234'
  • slice(satrt,end)浅复制数组中的子片段,并返回;原数组不变
var arr = [1,2,3,4,5];
arr.slice(1,3);//[2,3]
arr;//[1,2,3,4,5]
  • concat(arr)拼接数组,返回新的数组
var arr1 = [1,2,3,4],
    arr2 = [5,6,7];
arr1.concat(arr2);//[1,2,3,4,5,6,7]
  • reverse()把一个数组逆序,并返回
var arr = [1,2,3];
arr.reverse();//[3,2,1]
arr;//[3,2,1]
  • sort()把数组按照字符串进行排序
var arr = [1,2,31,100,256];
arr.sort();//[1,100,2,256,31]

可以重写该方法

var arr = [1,2,31,100,256];
arr.sort(function(a,b){
    return a-b;//a-b>0,则调换
});

ES5中数组的拓展

  • Array.isArray(arr)判断一个对象是不是数组
var arr = [];
Array.isArray(arr);//true;
/*
//满足这两点的,也一定是数组
typeof arr;//'object'
arr instanceof Array;//true
*/
  • indexOf(e) lastIndexOf(e)

  • indexOf(e)查找元素的位置,找不到返回-1

var arr = [1,2,3,3,2,1];
arr.indexOf(2);//1
  • lastIndexOf(e)反向开始查找
var arr = [1,2,3,3,2,1];
arr.lastIndexOf(2);//4
  • forEach(ele,index,array)用于遍历数组(array是原数组本身)
var arr = [1,2,3,4,5];
arr.forEach(function(ele,index,array){
    array[index] = ele +1;
});
arr;//[2,3,4,5,6]
  • every(function(ele,index,array){}) some(function(ele,index,array){})
  • every(function(ele,index,array){})每个结果都满足,返回true
var arr = [1,2,3,4,5];
arr.every(function(e,i,a){
   return e > 0;
});//true 
  • some(function(ele,index,array){})有满足条件的,就返回true
var arr = [1,2,3,4,5];
arr.some(function(e,i,a){
    return e > 3;
});//true
  • map(function(ele){})遍历数组,返回新数组
var arr = [1,2,3];
/*map基于原数组操作*/
arr.map(function(e){
    return e*e;
});//[1,4,9]
arr;//[1,2,3]
  • filter(function(e){})挑选出满足条件的,返回新的数组
var arr = [1,2,3,4,5];
arr.filter(function(ele){
    return ele > 2;
});[3,4,5]
arr;//[1,2,3,4,5]
  • 返回数组的:

  • splice(start,length,new)

  • slice(satrt,end)

  • concat(arr)

  • reverse()

  • sort()

  • 返回字符串的:

  • join(s)

  • 返回位置的:

  • indexOf(e)

  • lastIndexOf(e)

  • 遍历数组

  • forEach(ele,index,array)

  • every(function(ele,index,array){}) some(function(ele,index,array){})

  • map(function(ele){})

  • filter(function(e){})

相关文章

网友评论

      本文标题:数组的简单总结

      本文链接:https://www.haomeiwen.com/subject/qazxvttx.html