JS Array的方法与鉴别

    技术2022-07-12  94

    一、鉴别数组

    typeof Array :Object (不可取) array instanof(Array) :true (可取) Array.isArray(arr)检测是否为数组

    二、转换方法

    array.toString()返回字符串 String(array); array.join(str);通过str连接 array.valueOf() 返回数组本身 字符串转数组:str.split(","),Array.from(str,fun) fun为一个函数,迭代对数组成员操作 简洁方法:扩展运算法

    三、栈方法

    pop()从尾部删除最后一个数据,并返回该值 push()在尾部加入新值,并返回加入后的数组长度

    四、队列方法

    push()+ shift()从头部删除一个数据并返回该数据 unshift()从头部加入多个数据并返回新的数组长度

    五、重排序方法

    reverse()将数组反序 sort()无参情况将数组按照toString返回的字符串进行排序 sort(sortby)可以传入一个函数,这个函数有两个参数,表示排序依据 如: function(a,b) { return a-b;//升序 } function(a,b) { return b-a;//降序 }

    六、位置方法

    indexOf(a)返回a元素从前往后的第一个索引值 lastIndexOf(a)返回a元素从后往前的第一个索引值 注:判断是通过全等===运算符

    七、迭代方法

    1、every(function(item,index,array) { doSomething; }) 如果每一项都返回true则结果返回true,如果中途有返回false则停止迭代,直接返回false; 2、some(function(item,index,array) { doSomething; }) 如果有一项返回true则结果返回true,遇到第一个返回true的值就停止迭代,返回true,如果迭代完没有一项返回true,则返回false 3、filter(function(item,index,array) { doSomething; }) 返回迭代中返回true的项组成新的数组 4、map(function(item,index,array) { doSomething; }) 返回迭代中返回值组成的数组 5、forEach(function(item,index,array) { doSomething; }) 无返回值,迭代整个数组

    八、归并方法

    1、reduce(function(pre,cur,index,array) { dosomething; }) 参数为前一项,当前项,索引和数组本身。 2、reduceRight(function(pre,cur,index,array) { dosomething; }) 和上相同,只是从后往前迭代。

    九、截取方法

    arr.slice(start,end) arr.splice(start,num,adds)从数组中取出,会影响原数组,将start->start+num中的替换为adds的值,当第二个参数为0时还可以增加。

    十、清空数组的方法

    1、arr=[]; 这种方式当数组被其他变量引用时,不会改变其他数组。 2、arr.length=0; 3、arr.splice(0,arr.length) 4、while(arr.pop()){};

    十一、合并数组

    1、arr.concat(arr1,arr2…) 2、[…arr1,…arr2]

    十二、查找

    arr.indexOf();从左侧查找成功返回第一个位置,不成功返回-1; arr.lastIndexOf();从右侧开始查找 arr.includes();返回是否有 arr.find(function(item{}));find返回第一个返回true的项的值; arr.findIndexfunction(item{})();返回第一个返回true的项的索引;

    Processed: 0.014, SQL: 9