js引用类型姿势

时间:2022-02-03 05:51:43

1)var a=new Array(),a.push(a,b,...),a.pop()

queue

1)var a=new Array(),

a.push(a,b,...),a.shift()

 a.unshift(a,b....),a.pop()反向队列

数组方法

1)由于按照string排序var a=[3,1,2,6,5,11];//1,11,2,3,4,5,6

  像c++一样加个控制函数a.sort(function)  写a-b简单方法

2)倒转reverse

3)连接,c=a.concat(b),a不改变

4)slice位置复制

var a=[3,1,2,6,5,11];
    var b=a.slice();//复制一遍
    var c=a.slice(1);//重第二个开始

var d=a.slice(1,3);//从1到3-1复制

5)splice 和上面的有相同,切出部分一样,不过他会改变原来的a数组

var a=['a','b','c','d'];
var b=a.splice(0,1);//bcd删除一个位置
var c=a.splice(1,0,'0');//b0cd加入
var d=a.splice(1,1,'zz');//bzzcd删除再加入

arrayObject.splice(index,howmany,item1,.....,itemX)
参数 描述
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。

6)indexOf(a,b) a为查元素在那个位置,b为从那个开始,他的儿子lastIndexOf()

var a=['a','b','c','d'];
alert(a.indexOf('b'));

7)数组迭代方法  :变量.方法(function(item,index,array){........})三个形参分别当前项,当前项位置,数组对象本身

map():返回一个新的Array,每个元素为调用func的结果

filter():返回一个符合func条件的元素数组

some():返回一个boolean,判断是否有元素是否符合func条件

every():返回一个boolean,判断每个元素是否符合func条件

forEach():没有返回值,只是针对每个元素调用func

8)数组归并:  变量.reduce/reduceRight(function(prev,cur,index,array){....})形参分别前一项,后一项,当前项位置,数组对象本身

var a=[3,1,2,6,4,5];
var b=a.reduce(function (per,cur,index,array) {
return per+cur;
});