学习笔记---ES5数组小结

07 ES5数组

  1. map 映射(遍历)只针对数组的遍历,可以return 有三个参数 .map((item,index,arry)=>{});下面介绍几种用法:

    • 遍历后 return 输出到页面
    let data = [{title: 'title1',price: '15'},
                {title: 'title1',price: '16'},
                {title: 'title1',price: '17'},
                {title: 'title1',price: '18'},
               ]
    let result = data.map((item)=>{
        return (
            document.write(`<h2>价格:${item.price}</h2>`)
        );
    })
    
    • return 返回新的数组

      //return 返回筛选的数据
      let test = data.map(item=>{
          return item.price;
      })
      console.log("test:",test);//test: (4) ["15", "16", "17", "18"]
      //返回值加入条件映射
      let test1 = data.map(item=>item.price>16?'大于16':'小于16');
      console.log("test1:",test1);//test1: (4) ["小于16", "小于16", "大于16", "大于16"]
      
  2. reduce 汇总,目前没用到过,暂且跳过

  3. filter 筛选 return 返回符合筛选条件的数组元素;

    let data = [{title: 'title1',price: '15'},
                {title: 'title1',price: '16'},
                {title: 'title1',price: '17'},
                {title: 'title1',price: '18'},
               ]
    let result = data.filter(item=>item.price>16);
    console.log("result:",result);
    /*
    	result:[{title: "title1", price: "17"}1: {title: "title1", price: "18"}]
    */
    
  4. forEach 与map 用法类似,也是只能操作数组,区别是没有返回值return;

    let data = [{title: 'title1',price: '15'},
                {title: 'title1',price: '16'},
                {title: 'title1',price: '17'},
                {title: 'title1',price: '18'},
               ]
    data.forEach(item=>{
        console.log('item:',item);//item: {title: "title1", price: "15"}
                                    item: {title: "title1", price: "16"}
                                    item: {title: "title1", price: "17"}
                                    item: {title: "title1", price: "18"}
    });
    data.forEach(item=>{
        if(item.price>16){
            item.price = "gao";
        }else{
            item.price = 'di';
        }
    })	
    console.log("data:",data);//[{title: "title1", price: "di"},...]
    
    • 此外补充一点 for …in 遍历 ,for in 遍历可以对数组使用也可以对json数据使用,

    区别在于,遍历数组时 item 是数组的下标索引值,而json对象,item是属性的key值,下面举例;

    //遍历数组
    let data = [{title: 'title1',price: '15'},
                {title: 'title1',price: '16'},
                {title: 'title1',price: '17'},
                {title: 'title1',price: '18'},
               ]
    for(let item in data){
        console.log('item:',item);
        console.log("data[item]:",data[item]);
    }
    /*
    item: 0
    data[item]: {title: "title1", price: "15"}
    item: 1
    data[item]: {title: "title1", price: "16"}
    item: 2
    data[item]: {title: "title1", price: "17"}
    item: 3
    data[item]: {title: "title1", price: "18
    */
    
    //遍历对象
    let obj = {
       name: 'jack',
       old: '16',
       sex: 'male',
    }
    for(let item in obj){
       console.log('item:',item);//name old sex
       console.log('obj[item]:',obj[item]);// jack 16 male
       console.log('obj.item:',obj.item);//undefined  注意键名是变量时,只能使用[]的方式来访问属性的值
    }
    
  5. some(): 把数组的每一项和某个条件进行 对比,如果有一个符合条件,就会返回 true,否则返回false;

  6. every():把数组的每一项和某个条件进行 对比,如果全部符合条件,就会返回 true,否则返回false;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值