数组的简单总结

定义数组:

  • 构造函数
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){})

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,783评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,396评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,834评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,036评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,035评论 5 362
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,242评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,727评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,376评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,508评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,415评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,463评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,140评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,734评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,809评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,028评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,521评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,119评论 2 341

推荐阅读更多精彩内容