部分数组api-《数据结构与算法》

来源:互联网 发布:电脑游戏性能评测软件 编辑:程序博客网 时间:2024/06/07 20:00

indexOf

是常用的存取函数之一,用来查找传进来的参数在目标数组中是否存在。如果存在则返回下标索引;如不存在则返回-1;
lastIndexOf返回相同元素中最后一个元素的索引,如果没找到即返回-1;
join()可以将数组转换成字符串;

var names=["liugang","power998","powerful998"];var joinednames=names.join();

concat和splice方法

允许通过已有数组创建新数组;concat合并;splice截取;

var frag1=["liugang"];var frag2=["power998"];var frag3=frag1.concat(frag2);console.log(frag3);var frag4=frag3.splice(0,1);console.log(frag3,frag4)

其中frag4是截取的那一部分;

push,unshift可以在数组的末尾、开头添加

var arr=[1,2,3,4];arr.push(5);console.log(arr);arr.unshift(0);console.log(arr);

结果是:

[ 1, 2, 3, 4, 5 ][ 0, 1, 2, 3, 4, 5 ]

pop和shift可以删除末尾元素或者第一个元素

var arr=[1,2,3,4];arr.push(5);console.log(arr);arr.unshift(0);console.log(arr);arr.pop(arr.length-1);console.log(arr);arr.shift(arr[0]);console.log(arr);

结果分别是:

[ 1, 2, 3, 4, 5 ][ 0, 1, 2, 3, 4, 5 ][ 0, 1, 2, 3, 4 ][ 1, 2, 3, 4 ]

如何从数组中间位置添加或者删除元素呢?

splice(starti,delenum,newel);starti:起始索引;delenum:需要删除的元素的个数;newel:想要添加进入数组的元素;
var arr=[1,2,3,4];var newel=5;arr.splice(arr.length,0,newel);console.log(arr);arr.splice(0,2,1,2);console.log(arr);

这个的结果是:

[ 1, 2, 3, 4, 5 ][ 1, 2, 3, 4, 5 ]

数组的排序

倒序使用reverse,正序是sort前提是元素是字符串类型;
如果数组元素是数字类型,结果就不令人满意了;

var arr=[1,12,2,3,4];arr.sort();console.log(arr);arr.reverse();console.log(arr);

结果如下:

[ 1, 12, 2, 3, 4 ][ 4, 3, 2, 12, 1 ]

也就是说默认按照字符串的编码大小来排列;

arr.sort(function(a,b){return a-b});console.log(arr);arr.reverse(function(a,b){return b-a});console.log(arr);

结果如下:

[ 1, 2, 3, 4, 12 ][ 12, 4, 3, 2, 1 ]

符合要求。

原创粉丝点击