Array(数组)10个常用方法

1、push 在数组末尾添加一个或多个元素,并返回数组的长度, 可以添加任意类型的值作为数组的一个元素。

      语法:arr.push(newelement1,newelement2,....,newelementX)

      示例代码:

       var arr = [1,2];

      arr.push(6);                // arr:[1,2,6];返回值为3

      arr.push('aa');            // arr:[1,2,6,"aa"];返回值为4

      arr.push(undefined);      // arr: [1,2,6,"aa",undefined];返回值为5

      arr.push({a: "A", b: "B"});  // [1,2,6,"aa",undefined,{a: "A", b: "B"}];返回值为6

2、unshift 在最前面添加一个或多个元素,并返回数组的长度,可以添加任意类型的值作为数组的一个元素。

语法:arr.unshift(newelement1,newelement2,....,newelementX)

示例代码:

var arr = [1,2];

arr.unshift(9);      // arr:[9, 1, 2];返回值为3

arr.unshift('aa')   // arr:['aa',9, 1, 2];返回值为4

3、pop 删除最后一个元素,并返回删除元素的值;如果数组为空则返回undefine。该方法会改变原始数组

语法:arr.pop()

示例代码1:

var arr = [1,2,3,"aa",5];

arr.pop();       // arr: [1, 2, 3, "aa"];返回值为5

arr.pop();      // arr: [1, 2, 3];返回值为"aa"

示例代码2:

var arr = [];

arr.pop();      // 返回值为undefine

4、shift 删除数组第一个元素,并返回被删除的元素;如果数组为空则返回undefine。该方法会改变原始数组

语法:arr.shift()

示例代码1:

var arr = [1,"aa",3,4,5];

arr.shift();       // arr: ["aa", 3, 4,5];返回值为1

arr.shift();      // arr: [3, 4, 5];返回值为"aa"

示例代码2:

var arr = [];

arr.shift();      // 返回值为undefine

5、slice截取数组,得到截取的数组;不改变原始数组,得到新的数组.与String的substring()方法类似。

语法:slice(start,end)

ps:

1.start从0开始

2.包含start位置元素,不包含end位置元素

3.end可以省略,省略表示截取从start位置到数组结束

示例代码:

var arr = [1,2,3,4,5];

var a1 = arr.slice(1);        // a1: [2,3,4,5] ;arr不会被改变

var a2 = arr.slice(1,3);      // a2: [2,3] ;arr不会被改变

var a3 = arr.slice(3,4);     // a3: [4] ;arr不会被改变

6、splice剪接数组,向/从数组中添加/删除项目,然后返回被删除的项目,该方法会改变原始数组,索引从0开始

语法:splice(index,howmany,item1,.....,itemX)

ps:

1.index => 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

2.howmany => 可省略。要删除的项目数量。如果设置为 0,则不会删除项目,如果省略,
则会删除index位置及其后面的所有元素。

3.item1, ..., itemX => 可选。向数组添加的新项目。

4.splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或
多个值来替换那些被删除的元素。

如果从数组中删除了元素,则返回的是含有被删除的元素的数组。

示例代码:

var arr = [1,2,3,4,5];   //以下注释结果分别对数组arr进行操作

arr.splice(1);   // arr:[1]; 返回值为数组[2,3,4,5]

arr.splice(1, 2);    // arr:[1, 4, 5]; 返回值为数组[2,3]

arr.splice(1, 0, 'A');   // arr:[1, "A",2,3, 4, 5]; 未删除元素,返回值为空数组[]

arr.splice(1, 2, 'A', 'B');   // arr:[1, "A", "B", 4, 5]; 返回值为数组:[2,3]

7、concat 合并两个或多个数组,得到新数组,原始数组不改变,如果要进行concat()操作的参数是数组,那么添加的是数组中的元素,而不是数组。

语法:arr.concat(arr1,arr2,......,arrN)

示例代码:

var arr1 = [1,2];

var arr2 = [3,4,5];

var arr3 = [6,7];

var arr = arr1.concat(arr2,arr3);     // arr:[1,2,3,4,5,6,7]

var arr4 = arr1.concat(3,4);            // arr:[1,2,3,4]

8、indexOf 数组元素索引,并返回元素索引,不存在返回-1,索引从0开始

语法:arr.indexOf(searchvalue,fromindex)

ps:

1.searchvalue => 必需。规定需检索的字符串值。

2.fromindex => 可选。元素开始检索的位置。如省略,则从数组的首个元素开始

3.indexOf()方法对大小写敏感!

示例代码:

var arr = ['a','b','c','d','e'];

arr.indexOf('a');       //返回值为0

arr.indexOf('f');       //返回值为-1

arr.indexOf('e',2);       //返回值为4

9、join 数组转字符串,与toString()方法类似

语法:arr.join(separator)

ps:

1.separator => 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。

2.返回一个字符串。

3.该字符串是通过把数组arr中的每个元素转换为字符串,然后把这些字符串连接起来,
在两个元素之间插入 separator 字符串而生成的。

示例代码:

var a, b, c;

a = [0, 1, 2, 3, 4];

b = a.join("-");    // 0-1-2-3-4

c = a.toString();   // 0,1,2,3,4

10、reverse 颠倒数组中元素的顺序,该方法会改变原来的数组,而不会创建新的数组。

语法:arr.reverse()

示例代码:

var a = [1,2,3,4,5];

a.reverse();    //a:[5, 4, 3, 2, 1] 返回值为数组[5, 4, 3, 2, 1]

11,数组变字符串

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