JavaScript中的Array40个原型方法、静态方法、属性

 控制台输出:Array.prototype会得到Array的所有方法(谷歌浏览器)

序号方法参数返回值
1at(index)索引对应索引值
2concat(arr2[,arr3])

传入1或者多个数组

let arr3 = arr.contact(arr1[,arr2])

将传入的数组拼接到arr后面,不改变arr,返回新数组
3constructor()--------------------------返回构造函数
4copyWithin(i,j,k)

用从索引j到k(不包括k)的元素替换从i开始的对应元素;

j,k不填则为第一个到最后一个;

k不填为从j到最后

返回改变后的原数组
5entries()-------------------------

返回一个Array迭代器对象,这个对象的键是数组索引,值为对应的数组值;

用于数组遍历

6every(callback)传入一个回调函数如果每个元素都符合回调函数的筛选则返回布尔值true,否则为false并立即终止遍历
7fill(val,i,j)val要填充的,将索引在[i,j)中的元素替换为val返回改变后的原数组
8filter(callback)传入一个回调函数返回一个通过回调函数测试的新数组
9find(callback)传入一个回调函数返回通过回调函数测试的第一个元素,没有一个通过返回undefined
10findIndex(callback)传入一个回调函数返回通过回调函数测试的第一个元素的索引,没有一个通过返回-1
11findLast(callback)传入一个回调函数返回通过回调函数测试的最后一个元素,没有一个通过返回undefined
12findLastIndex(callback)传入一个回调函数返回通过回调函数测试的最后一个元素的索引,没有一个通过返回-1
13flat(n)传入一个数值n,代表要下降的维数将一个多维数组下降指定维数,返回新数组,不传参和传入Infinity则降到一维;用于数组扁平化
14flatMap(callback)传入一个回调函数产生经过回调函数加工的新数组,并将新数组扁平化最终返回新数组
15forEach(callback)传入一个回调函数数组遍历,无返回值
16includes(val[,index])传入一个val和开始查找的索引值index如果包含值val返回布尔值true,否则false
17indexOf(val)val返回这个值第一次出现的索引,没有返回-1
18join(str)字符串str将一个数组或者类似数组的对象转化为一个以str分隔的字符串
19keys()-------------------------------返回一个Array迭代器对象,这个对象包含数组的所有索引
20lastIndexOf(val)传入一个val返回这个值最后一次出现的索引,没有返回-1
21map(callback)传入一个回调函数返回经过回调函数加工的新数组
22pop()----------------------删除最后一个元素,并返回这个元素
23push(val)传入一个再数组末尾添加这个元素,返回这个元素的索引(arr.length - 1)
24reduce((pre,cur,curIndex,arr)=>{})

传入回调函数,函数参数如下:

pre上一次计算返回结果,

cur当前遍历到的元素值,

curIndex当前元素的索引,

arr即调用reduce的数组

返回最终计算的结果,

可用于累加和数组扁平化

25reduceRight(callback[,initVal])传入回调函数和初始

倒序遍历

返回最终计算的结果,

可用于累加和数组扁平化

26reverse()-----------------------------返回元素颠倒后的原数组
27shift()---------------------------------

删除第一个元素,并返回这个元素,

原数组改变

28slice(i,j)起始索引i,终止索引j对[i,j)内的元素进行浅拷贝,返回新数组
29some(callback)回调函数如果有符合回调函数测试的元素,终止遍历返回布尔值true,否则返回false
30sort([callback])回调函数

无参数默认将原数组按照字符集编码顺序排列元素返回排序后的原数组

有参数按照回调函数排序返回原数组

31splice(startIndex[,n[,item1,...]])

startIndex修改的起始索引

要删除的元素数量

要添加的

原数组改变,

从起始位置删除n个元素并添加值,

返回删除的(删除一个)或删除的值构成的数组

32toLocaleString()-----------------------------此方法会调用数组每一个元素的toString()方法,把结果拼接成以逗号相隔的字符串返回
33toString()----------------------------返回由原数组元素构成的字符串
34unshift(val)要添加的val添加元素后数组最后一个元素的索引
35values()--------------------------返回一个Array迭代器对象
36Symbol(Symbol.iterator)待续....待续....
37Symbol(Symbol.unscopables)待续....待续....

序号静态方法和属性参数返回值
1length------------------------数组长度
2Array.from(obj)数组类数组SetMap可迭代或类似数组的对象传入参数的浅复制的新数组形式的返回
3Array.of(val[,val2[,val3[...]]])一组数组类数组返回一个由参数构成的新数组
4Array.isArray(arr)要检测的变量是数组返回布尔值true,否则false

参考代码:

         let p = (...args) => {
            console.log(...args);
            document.write(...args);
            document.write('</br>');
        }
        
        p(Array.prototype);
        
        let arr = [1,2,3,4,5,6,7,8,9,10,3];
        let arr2 = [9,9]
        // p(arr.at());
        // p(arr.concat(arr2));
        // p(arr.constructor());
        // p(arr.copyWithin(0,6,8));
        // p(arr);
        
        // for (let item of arr.entries()) {
        //     p(item);
        // }
        
        // p(arr.every(item => item > 3 ));
        // p(arr.fill(1,3,5));
        // p(arr);
        
        // p(arr.filter(item => item > 4));
        // p(arr.find(item => item > 66));
        // p(arr.findIndex(item => item > 99));
        
        // p(arr.findLast(item => item > 200));
        // p(arr.findLastIndex(item => item > 2));
        
        // const arr3 = [0, 1, 2, [[[3, 4]]]];
        // p(arr3.flat(0));
        // p(arr3.flat(1));
        // p(arr3.flat(2));
        // p(arr3.flat(3));
        // p(arr3.flat(Infinity));
        // p(arr3);
        
        // p(arr.flatMap(item => [item,item * 10]));
        // arr.forEach(item => p(item));
        
        // p(Array.from("hello"));
        // p(Array.from(new Set(arr)));
        
        // p(arr.includes(3,1));
        // p(arr.indexOf(3));
        
        // p(Array.isArray(arr));
        // p(arr.join("-"));
        
        // for (let s of arr.keys()) {
        //     p(s);
        // }
        
        // p(arr.lastIndexOf(3));
        // p(arr.map(x => x *100));
        // p(arr.pop());
        // p(arr.push(99)); 
        
        // arr.reduce((pre,cur,curIndex,arr) => {
        //     p(pre,cur,curIndex,arr);
        //     return pre + cur;
        // })
        
        // p(arr.reduceRight((pre,cur) => {//累加
        //     p(pre,cur);
        //     return pre + cur;
        // }));
        
        // arr = [[1,2],[3,4],[5,6]];
        // p(arr.reduceRight((pre,cur) => {
        //     return pre.concat(cur);
        // }))
        
        // p(arr.reverse());
        // p(arr.shift());
        // p(Array.of(arr));
        // p(Array.of(1,2,3));
        
        // p(arr.slice(2,4));
        // p(arr.some(item => {
        //     return item > 100;
        // }))
        
        // p(arr.sort());
        // p(arr.sort((pre,cur) => {
        //     return pre - cur;
        // }))
        
        // p(arr);
        // p(arr.splice(2,4,11));
        // p(arr.toLocaleString());
        
        // arr = [{a:1},2,3,[5,6],{w:3}];
        // p(arr.toString());
        
        // p(arr.unshift(1));
        for (let s of arr.values()) {
            p(s);
        }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值