博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js数组的各种方法
阅读量:4576 次
发布时间:2019-06-08

本文共 3476 字,大约阅读时间需要 11 分钟。

1.检测数组

①Instanceof:

if(value instanceof Array){}

它假定只有一个全局执行环境,若网页中包含多个框架,则存在多个不同的全局执行环境,则Instanceof不能正确检测;

② Array.isArray()

无论几个全局执行环境都可以;

if(Array.isArray(value)){}

2.转换方法

③ toString()

会返回数组的每个值拼接起来的字符串(以逗号分隔);不会影响原数组;

var colors=['red','black','blue'];colors.toString();//red,black,blue

④  valueOf()

返回数组; 不会影响原数组;

var colors=['red','black','blue'];colors.valueOf();// ["red", "black", "blue"]
var colors=['red','black','blue'];alert(colors.valueOf());//red,black,blue//因为alert()要接受字符串参数,所以其会在后台调用toString()方法,所以弹出的是字符串

⑤ toLocaleString()

与上两个相同;

⑥ join()

接收一个参数,用作字符串的分隔符,返回字符串; 不会影响原数组;

var colors=['red','black','blue'];colors.join('||');// red||black||blue

3.栈方法

⑦  push()

将接受到的参数添加到数组末尾,返回字符串的长度; 影响原数组;

var colors=['red','black','blue'];colors.push('green','pink');        //5

⑧ pop()

移除数组末尾的最后一项,返回移除的项;影响原数组;

var colors=['red','black','blue'];colors.pop();       //blue

pop()和push()结合使用,可以实现队列方法;

4.队列方法

⑨ shift()

移除数组的第一项,并返回该项;影响原数组;

1 var colors=['red','black','blue'];2 colors.shift();       //red

⑩  push()

shift()和push()结合使用,可以实现队列方法;

11.  unshift()

将接受到的参数添加到数组前端,返回字符串的长度;

var colors=['red','black','blue']; colors.unshift("green");                 //4

5.重排序方法

12.  reverse()

反转数组项顺序,改变数组本身,返回数组本身;;

var number=[1,2,3,5,4];value=number.reverse();      //[4, 5, 3, 2, 1]console.log(value)               // [4, 5, 3, 2, 1]console.log(number)           // [4, 5, 3, 2, 1]

13.sort()

改变数组本身的值,返回数组本身;

var number=[1,2,3,5,4];value=number.sort(compare);      //[1,2,3,4,5 ]  function compare(a,b){     return a-b;}console.log(number);             //[1, 2, 3, 4, 5]

6.操作方法

14.  concat()

连接几个数组,返回新构建的数组;不会影响数组本身;

var colors=['red','black','blue'],col=["pink","green"],colo=['brown']; colors.concat(col,colo,'yellow');   //["red", "black", "blue", "pink", "green", "brown", "yellow"]

15. slice()

接受1或2个参数,即返回项的起始和结束位置;不会影响数组本身;

var colors=['red','black','blue']; colors.slice(1,2);          //["black"] colors.slice(1);             // ["black", "blue"]

16. splice()   

原数组随之改变;返回删除的项(数组形式),若未删除则返回空数组;

输入2个参数: 起始位置和要删除的数组长度;

删除:

var colors=['red','black','blue']; colors.splice(1,2);          //["black", "blue"]console.log(colors);        //["red"]

输入3个参数:

插入:  起始位置,要删除的数组长度(0),要插入的项;

var colors=['red','black','blue']; colors.splice(1,0,'green');          //[]console.log(colors);        //["red", "green", "black", "blue"]

替换: 起始位置,要删除的数组长度,要插入的项;

var colors=['red','black','blue']; colors.splice(1,1,'green','purple');          //["black"]console.log(colors);        //["red", "green", "purple", "blue"]

7.位置方法

17.  indexOf() :从开头往后查找

输入:要查找的项和(查找起点位置的索引){默认为0};返回要查找的项在数组中的位置;

var colors=['red','black','blue','black','green']; colors.indexOf('black');          //1colors.indexOf('black',2);       //3

18.lastIndexOf() :从末尾往前查找

输入:要查找的项和(查找起点位置的索引){默认为length-1};返回要查找的项在数组中的位置;

var colors=['red','black','blue','black','green']; colors.lastIndexOf('black');          //3colors.lastIndexOf('black',2);       //1

8.迭代方法

every(),filter()…

http://www.cnblogs.com/sunmarvell/p/8674935.html

9.归并方法

24  reduce()

迭代数组的所有项,构建一个最终返回值; 不改变原数组的值

从第一项开始,逐个遍历到最后;

var number=[1,2,3,5,4];value=number.reduce(compare);      //-13 function compare(a,b){     return a-b;}console.log(number);             //[1,2,3,5,4]

25  reduceRight()

迭代数组的所有项,构建一个最终返回值; 不改变原数组的值

从最后一项开始,逐个遍历到第一项;

var number=[1,2,3,5,4];value=number.reduceRight(compare);      //-7 function compare(a,b){     return a-b;}console.log(number);             //[1,2,3,5,4]

 

转载于:https://www.cnblogs.com/sunmarvell/p/9043466.html

你可能感兴趣的文章
Appium - iOS 各种问题汇总
查看>>
经FreeMarkerclasspath加载方式生成静态页面
查看>>
Bootstrap-maxlength使用
查看>>
UVA 10139 Factovisors(数论)
查看>>
找呀志_使用SQLiteDatabase增删改提供的搜索方法和事务
查看>>
springMVC框架建设进程
查看>>
军医王-moTestin云测试看好移动医疗行业
查看>>
OutputCache说明
查看>>
LSPCI具体解释分析
查看>>
Python+Django+SAE系列教程9-----Django的视图和URL
查看>>
Thinkpad T440p安装Linux的种种问题(by quqi99)
查看>>
电脑常见问题汇总:
查看>>
集合接口和类
查看>>
20145227《信息安全系统设计基础》期中总结
查看>>
20145227《信息安全系统设计基础》第十三周学习总结
查看>>
android第七节活动的生命周期
查看>>
Android Runnable 运行在那个线程
查看>>
find命令不递归查询子目录
查看>>
UITableView动态改变Cell高度
查看>>
iOS-Core-Animation-Advanced-Techniques
查看>>