今天的码农女孩做了关于数组扩展的笔记

数组扩展:

        1.from():Array.from方法用于将两类对象转为真正的数组,即类似数组的对象和可遍历的对象,任何有length属性的对象和有遍历器接口都可以通过Array.form方法转为数组

        2.扩展运算符[...]

        3.Array.of()将一组值转换为数组

        4.copyWithin()修改当前数组,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组

           三个参数:

           1.target(必需):从该位置开始替换数据;

           2.start(可选):从该位置开始读取数据。默认为0,如果为负值表示倒数

           3.end(可选):到该位置前停止读取数据,默认等于数组长度,如果为负值,表示倒数

        5.find()找出第一个符号条件的成员,如果没有符号条件的成员返回undefined

          用法:需要函数作为参数引入

          val:当前的值;index:当前的值的位置;arr:源数组

        6.findIndex()找出第一个符号条件的位置的索引,用法同find

        7.fill()使用给定值填充一个数组,可以接受第二个和第三个参数,用于指定填充的起始位置和结束位置

        8.entries()对键值对的遍历;keys()对键名的遍历

        9.filter()过滤元素,返回新数祖,不影响原数组

        10.map()遍历数组中的值,对当前数祖修改

        11.reduce()遍历数组中的值从头到尾合并

        12.reduceRight()遍历数组中的值从尾到头合并

        13.for...of循环

<script>
         //Array.of()
         var arr=Array.of(1,2,3)
         console.log(arr);//[1,2,3]
         var arr1=Array.of()
         console.log(arr1);//[]
         var arr2=Array.of(undefined)
         console.log(arr2);//[undefined]
         //copyWithin()
         var arr3=[1,2,3,4,5].copyWithin(0,3);
         console.log(arr3);//[4,5,3,4,5]
         var arr4=[1,2,3,4,5].copyWithin(0,2);
         console.log(arr4);//[3,4,5,4,5]
         var arr5=[1,2,3,4,5].copyWithin(1,2,3);
         console.log(arr5);//[1,3,3,4,5]
         var arr6=[1,2,3,4,5].copyWithin(1,-3,-1);
         console.log(arr6);//[1,3,4,4,5]
         //find()
         var result=[1,5,20,35,45].find(function(value,index,arr){
            return value>20;
         })
         console.log(result);//35
         var result=[1,5,8,10].findIndex(function(value,index,arr){
            return value>9;
         })
         console.log(result);//3
         //fill()
         //数组元素全部被替换
         var arr7=[1,2,3].fill(7);
         console.log(arr7);//[7,7,7]
         //指定元素被替换
         var arr8=[1,2,3].fill(7,1,2);
         console.log(arr8);//[1,7,3]
         //entries()和keys()
         var arr9=['sxt','abc'];
         var arrkeys=arr9.keys();
         for(var key of arrkeys){
            console.log(key);//0 1
         }
         var arr10=['sxt','abc'];
         var arrentries=arr10.entries();
         for(var obj of arrentries){
            console.log(obj);//[0,'sxt'] [1,'abc']
         }
         //filter()
         var arr11=[1,2,3,4,5,6,7,8,9];
         //选取大于5的数字
         var arr12=arr11.filter(function(value){
            return value>5;
         })
         console.log(arr12);//[6 7 8 9]
         //map()
         var arr13=[1,2,3];
         var arr14=arr13.map(function(value,index,arr){
            return <li>value</li>
         })
         console.log(arr14);//["<li>1</li>","<li>2</li>","<li>3</li>"]
         //reduce()
         //previous上一次计算结果 current当前值
         var arr15=[1,2,3,4].reduce(function(previous,current){
            return previous*current;
         })
         console.log(arr15);//24
         //for...of与for...in区别:前者遍历出的是values,后者遍历出的是keys
         var obj={
            name:'Tim',
            age:12,
            love:'coding'
         };
         var arr16=[2,3,4,5];
         for(let key in obj){
            console.log(key,obj[key]);//name Tim age 12 love coding
         }
         for(let key in arr16){
            console.log(key);//0 1 2 3
         }
         for(let value of arr16){
            console.log(value);//2 3 4 5
         }
     </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值