第203天:js---Array对象常用方法

1、shift:删除原数组的第一项,返回删除元素的值;如果数组为空则返回undefined

1 //shift:删除原数组的第一项,返回删除元素的值;如果数组为空则返回undefined
2     var arr = [1, 2, 3, 4, 5];
3     var out = arr.shift();
4     console.log(arr); //[2,3,4,5]
5     console.log(out); //1
6     var arr = [];
7     var out = arr.shift();
8     console.log(arr); //[]
9     console.log(out); //undefined

2、unshift:将参数添加到原数组开头,返回数组的长度(ie6下返回undefined)

1 //unshift:将参数添加到原数组开头,返回数组的长度(ie6下返回undefined)
2     var arr = [1, 2];
3     var out = arr.unshift(-1, 0);
4     console.log(arr); //[-1,0,1,2]
5     console.log(out); //4

3、pop:删除原数组的最后一项,返回数组删除的值;如果数组为空则返回undefined

1 //pop:删除原数组的最后一项,返回数组删除的值;如果数组为空则返回undefined
2     var arr = [1, 2, 3, 4, 5];
3     var out = arr.pop();
4     console.log(arr); //[1,2,3,4]
5     console.log(out); //5
6     var arr = [];
7     var out = arr.pop();
8     console.log(arr); //[]
9     console.log(out); //undefined

4、push:将参数添加到原数组的末尾,返回数组的长度

1 //push:将参数添加到原数组的末尾,返回数组的长度
2     var arr = [1, 2, 3];
3     var out = arr.push(4, 5, 6);
4     console.log(arr); //[1,2,3,4,5,6]
5     console.log(out); //6

5、concat:返回一个将参数添加到原数组中构成的新数组

1 //concat:返回一个将参数添加到原数组中构成的新数组
2     var arr = [1, 2, 3];
3     var out = arr.concat(4, 5);
4     console.log(arr); //[1,2,3]
5     console.log(out); //[1,2,3,4,5]

6、splice(start,deleteCount,val1,val2,...):从start位置开始删除原数组deleteCount项,并从该位置起插入val1,val2,...,返回删除的项组成的新数组

 1 //splice(start,deleteCount,val1,val2,...):从start位置开始删除原数组deleteCount项,并从该位置起插入val1,val2,...,返回删除的项组成的新数组
 2     var arr = [1, 2, 3, 4, 5];
 3     var out = arr.splice(2, 2, 7, 8, 9, 10);
 4     console.log(arr); //[1,2,7,8,9,10,5]
 5     console.log(out); //[3,4]
 6     //在清空数组时仅需传递start,如果不删除所有元素,再传递deleteCount
 7     var arr = [1, 2, 3, 4, 5];
 8     var out = arr.splice(2);
 9     console.log(arr); //[1,2]
10     console.log(out); //[3,4,5]
11     //同shift
12     var arr = [1, 2, 3, 4, 5];
13     var out = arr.splice(0, 1);
14     console.log(arr); //[2,3,4,5]
15     console.log(out); //[1]
16     //同unshift
17     var arr = [1, 2, 3, 4, 5];
18     var out = arr.splice(0, 0, 22, -1, 0);
19     console.log(arr); //[22,-1,0,1,2,3,4,5]
20     console.log(out); //[]
21     //同pop
22     var arr = [1, 2, 3, 4, 5];
23     var out = arr.splice(arr.length - 1, 1);
24     console.log(arr); //[1,2,3,4]
25     console.log(out); //[5]
26     //同push
27     var arr = [1, 2, 3, 4, 5];
28     var out = arr.splice(arr.length, 0, 6, 7, 8);
29     console.log(arr); //[1,2,3,4,5,6,7,8]
30     console.log(out); //[]

7、reverse:将原数组倒序

 1 //reverse:将原数组倒序
 2     var arr = ['a', 1, {}, [2, 3]];
 3     console.log(arr); //['a', 1, {}, [2, 3]]
 4     var out = arr.reverse();
 5     console.log(arr); //[[2,3],{},1,'a']
 6     console.log(out); //[[2,3],{},1,'a']
 7     var arr = [0, 1, 5, 10, 15];
 8     arr.reverse();
 9     console.log(arr); //[15,10,5,1,0]
10     var arr = [1, 0, 5, 15, 10];
11     arr.reverse();
12     console.log(arr); //[10,15,5,0,1]

8、sort(orderfunction):sort()为升序排列

 1 //sort(orderfunction):sort()为升序排列,但是先调用每个数组项的toString()方法,然后比较字符串来排序,是按ASCII进行比较的;
 2     //所以跟reverse不同原理不同。sort()不带参数的时候是从字面上对数组排序
 3     var arr = [0, 1, 5, 10, 15];
 4     arr.sort();
 5     console.log(arr); //0,1,10,15,5 ,注意这里是字符串按ASCII进行比较的
 6     //调用这样的函数就按数值方式排列了
 7     function sortNumber(a, b) {
 8         return a - b
 9     }
10     arr.sort(sortNumber);
11     console.log(arr);   //0,1,5,10,15

9、slice(start,end):返回从原数组中指定start到end(不包含该元素)之间的项组成的新数组

1 //slice(start,end):返回从原数组中指定start到end(不包含该元素)之间的项组成的新数组,如只有一个参数,则从start到数组末尾
2     var arr = [1, 2, 3, 4, 5, 6, 7, 8];
3     var out = arr.slice(2,3);
4     console.log(arr); //[1, 2, 3, 4, 5, 6, 7, 8]
5     console.log(out); //[3]

10、join(separator):将数组的元素组成一个字符串

1 //join(separator):将数组的元素组成一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
2     var arr = [1, 2, 3, 4, 5, 6];
3     var out = arr.join();
4     console.log(arr); //[1, 2, 3, 4, 5, 6]
5     console.log(out); //1,2,3,4,5,6
6     out = arr.join("");
7     console.log(out); //123456
8     out = arr.join("&");
9     console.log(out); //1&2&3&4&5&6

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏好好学java的技术栈

5分钟理解String的'+'的性能及原理

实验二可以很明显地看出,编译器在编译时产生的字节码已经将 "a" + "b" 优化成了 "ab",同理多个字符串的相加也会被优化处理,需要注意的是字符串常量相加...

9820
来自专栏牛客网

知识总结:四个例子理解闭包//例一//例二//例三//例四

/** * 闭包原理 * @date   2017-04-10 14:04:17 * @version 1 */ //理解作用域、作用域链 //内部作用域可以通...

35890
来自专栏desperate633

LintCode 字符大小写排序题目分析代码

8710
来自专栏小白的技术客栈

Python内置数据结构之集合

今天给大家介绍内置数据结构集合的用法。 看一下集合的思维导图: ? 集合的特点 元素是唯一的 元素是无序的,不是线性结构 集合元素是可hash的 聚合的含义和数...

39140
来自专栏简书专栏

Python正则表达式re库的使用

re.search函数需要传入2个参数,第1个参数是正则表达式,第2个参数是要进行搜索的源字符串。 re.search函数返回结果的数据类型是sre.SRE_...

19420
来自专栏技术点滴

快速傅里叶变换C++递归算法实现

快速傅里叶变换C++递归算法实现 网上有些算法资料经测试运行结果是错误的,虽然代码的使用的是非递归形式。为了方便验证快速傅里叶变换的准确性,我提供了自己设计的...

481100
来自专栏noteless

-1-1 java 基础语法 java关键字 java 注释 常量 语句 运算符 函数 数组定义

字符/数字/下划线/$/  组成  不可以使用关键字 不允许以数字开头    严格区分大小写

17920
来自专栏xiaoxi666的专栏

【模板小程序】2~62位非负数任意进制转换

  对于负数,有小伙伴说可以直接将符号丢弃,按照整数进行进位转换,最后再将负号补回来,我认为这种做法是不对的。

10520
来自专栏小樱的经验随笔

Codeforces 591B Rebranding

B. Rebranding time limit per test:2 seconds memory limit per test:256 megabytes ...

35770
来自专栏前端知识分享

javascript易混淆的split()、splice()、slice()方法详解

很多时候,一门语言总有那么些相似的方法,容易让人傻傻分不清楚,尤其在不经常用的时候。而本文主要简单总结了JavaScript中的关于字符串和数组中三个容易混淆的...

14320

扫码关注云+社区

领取腾讯云代金券